/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 556.0 KiB
#2 Accepted 773ms 560.0 KiB
#3 Accepted 861ms 552.0 KiB
#4 Accepted 783ms 560.0 KiB
#5 Accepted 538ms 560.0 KiB
#6 Accepted 392ms 556.0 KiB
#7 Accepted 351ms 552.0 KiB
#8 Time Exceeded ≥3095ms ≥540.0 KiB
#9 Accepted 546ms 560.0 KiB
#10 Time Exceeded ≥3098ms ≥540.0 KiB

Code

#include<bits/stdc++.h>
using namespace std;
const long long M=1e6+2,MOD=1e9+7;
typedef long long ll;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int t=1;
   cin>>t;
   int cas=1;
    while(t--){
    	int n;
    	cin>>n;
    	vector<int>v(n);
    	for(auto &i:v)cin>>i;
        vector<int>div;
        for(int i=2;i<=n;i++){
        	if(n%i==0){
        		div.push_back(i);
        	}
        }
        
        int mx=0;
        vector<int>res;
        for(auto i:div){
        	set<int>st;
        	for(int j=0;j<n;j++){
        	int maximum=0;
        	int minimum=1e9;
        	int l=0;
        	while(l<i){
        		maximum=max(maximum,v[j]);
        		minimum=min(minimum,v[j]);
        		j++;
        		l++;
        	}
        	j--;
        	st.insert(maximum-minimum);
        		
        	}
        	if((int)st.size()==1){
        		if(mx<n/i){
        			mx=n/i;
        			res=v;
        		}
        	}
        }
        vector<int>temp;
        for(int i=0;i<n;i++)temp.push_back(i);
        vector<int>vv=v;
      while(next_permutation(temp.begin(),temp.end())){
       v.clear();
       for(auto i:temp)v.push_back(vv[i]);
      	for(auto i:div){
        	set<int>st;
        	int x=1;
        	for(int j=0;j<n;j++){
        	int maximum=0;
        	int minimum=1e9;
        	int l=0;
        	while(l<i){
        		maximum=max(maximum,v[j]);
        		minimum=min(minimum,v[j]);
        		j++;
        		l++;
        	}
        	j--;
        	st.insert(maximum-minimum);
        		
        	}
        	if(st.size()==1){
        		if(mx<n/i){
        			mx=n/i;
        			res=v;
        		}
        		
        }
        }
        }
      
      cout<<mx<<"\n";
     // for(auto it:res)cout<<it<<" ";
      //cout<<endl;
     
     
      }
    	   
    return 0;
 
}

Information

Submit By
Type
Submission
Problem
P1162 Roy and Maximum Partition
Language
C++17 (G++ 13.2.0)
Submit At
2025-01-26 20:40:25
Judged At
2025-01-27 08:24:51
Judged By
Score
35
Total Time
≥3098ms
Peak Memory
≥560.0 KiB