Submission #966859

# Submission time Handle Problem Language Result Execution time Memory
966859 2024-04-20T13:39:09 Z Batorgil952 Sequence (APIO23_sequence) C++17
28 / 100
2000 ms 31548 KB
#include "sequence.h"
#include<bits/stdc++.h>

#include <vector>

using namespace std;

const int N=5e5+5;
int T[N];

int sequence(int N, std::vector<int> A) {
	int sn, pn, ans;
	
	if(N<=2000){
		for(int i=0; i<=N; i++){
			T[i]=0;
		}
		ans=1;
		for(int i=0; i<N; i++){
			multiset< int > S, P;
			multiset< int > :: iterator it, ip;
			sn=1;
			pn=0;
			S.insert(A[i]);
			T[A[i]]++;
			for(int j=i+1; j<N; j++){
				T[A[j]]++;
				if(pn==0){
					pn++;
					it=S.begin();
					if(A[j]<(*it)){
						P.insert(*it);
						S.erase(it);
						S.insert(A[j]);
					}
					else{
						P.insert(A[j]);
					}
					ans=max(ans, T[A[j]]);
				}
				else{
					it=S.end();
					it--;
					if((*it)>=A[j]){
						S.insert(A[j]);
						sn++;
					}
					else{
						P.insert(A[j]);
						pn++;
					}
					if(sn>=pn+2){
						it=S.end();
						it--;
						P.insert(*it);
						S.erase(it);
						sn--;
						pn++;
					}
					if(pn>sn){
						it=P.begin();
						S.insert(*it);
						P.erase(it);
						pn--;
						sn++;
					}
					it=S.end();
					it--;
					ip=P.begin();
					if((sn+pn)%2==0){
						ans=max(ans, max(T[*it], T[*ip]));
					}
					else{
						ans=max(ans, T[*it]);
					}
				}
			}
			for(int j=i; j<N; j++){
				T[A[j]]=0;
			}
		}
		return ans;
	}
}

Compilation message

sequence.cpp: In function 'int sequence(int, std::vector<int>)':
sequence.cpp:84:1: warning: control reaches end of non-void function [-Wreturn-type]
   84 | }
      | ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 1 ms 444 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 1 ms 444 KB Output is correct
13 Correct 247 ms 564 KB Output is correct
14 Correct 231 ms 544 KB Output is correct
15 Correct 235 ms 536 KB Output is correct
16 Correct 237 ms 596 KB Output is correct
17 Correct 234 ms 504 KB Output is correct
18 Correct 166 ms 540 KB Output is correct
19 Correct 251 ms 544 KB Output is correct
20 Correct 233 ms 344 KB Output is correct
21 Correct 252 ms 348 KB Output is correct
22 Correct 241 ms 540 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Execution timed out 2040 ms 31480 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Execution timed out 2093 ms 30544 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2040 ms 31548 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 1 ms 444 KB Output is correct
13 Correct 247 ms 564 KB Output is correct
14 Correct 231 ms 544 KB Output is correct
15 Correct 235 ms 536 KB Output is correct
16 Correct 237 ms 596 KB Output is correct
17 Correct 234 ms 504 KB Output is correct
18 Correct 166 ms 540 KB Output is correct
19 Correct 251 ms 544 KB Output is correct
20 Correct 233 ms 344 KB Output is correct
21 Correct 252 ms 348 KB Output is correct
22 Correct 241 ms 540 KB Output is correct
23 Execution timed out 2028 ms 5568 KB Time limit exceeded
24 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 1 ms 444 KB Output is correct
13 Correct 247 ms 564 KB Output is correct
14 Correct 231 ms 544 KB Output is correct
15 Correct 235 ms 536 KB Output is correct
16 Correct 237 ms 596 KB Output is correct
17 Correct 234 ms 504 KB Output is correct
18 Correct 166 ms 540 KB Output is correct
19 Correct 251 ms 544 KB Output is correct
20 Correct 233 ms 344 KB Output is correct
21 Correct 252 ms 348 KB Output is correct
22 Correct 241 ms 540 KB Output is correct
23 Execution timed out 2040 ms 31480 KB Time limit exceeded
24 Halted 0 ms 0 KB -