Submission #932033

# Submission time Handle Problem Language Result Execution time Memory
932033 2024-02-22T20:58:58 Z Edu175 Sequence (APIO23_sequence) C++17
0 / 100
2000 ms 54612 KB
#include "sequence.h"
#include <bits/stdc++.h>
#define pb push_back
#define fst first
#define snd second
#define fore(i,a,b) for(ll i=a,apio=b;i<apio;i++)
#define SZ(x) ((int)x.size())
#define ALL(x) x.begin(),x.end()
#define mset(a,v) memset((a),(v),sizeof(a))
#define imp(v) for(auto slkdh:v)cout<<slkdh<<" ";cout<<"\n"
using namespace std;
typedef long long ll;
typedef pair<ll,ll> ii;

struct STree{
	vector<ll>t; ll n;
	STree(ll n):t(2*n+5),n(n){}
	void upd(ll p, ll v){
		for(p+=n,t[p]=v;p>1;p>>=1)t[p>>1]=t[p]+t[p^1];
	}
	ll query(ll l, ll r){
		ll res=0;
		for(l+=n,r+=n;l<r;l>>=1,r>>=1){
			if(l&1)res+=t[l++];
			if(r&1)res+=t[--r];
		}
		return res;
	}
};

int sequence(int N, std::vector<int> A) {
	ll n=N;
	vector<ll>a(n);
	fore(i,0,n)a[i]=A[i]-1;
	vector<ll>pos[n];
	fore(i,0,n)pos[a[i]].pb(i);
	STree bal(n),yo(n);
	fore(i,0,n)bal.upd(i,1);
	ll res=0;
	fore(i,0,n){
		//cout<<"\nin "<<i<<":\n";
		for(auto j:pos[i])bal.upd(j,0),yo.upd(j,1);
		vector<ll>b;
		ll q=1;
		fore(j,0,SZ(pos[i])-1){
			ll l=pos[i][j],r=pos[i][j+1];
			if(l+1!=r){
				b.pb(q);
				q=1;
				b.pb(bal.query(l+1,r));
			}
			else q++;
		}
		b.pb(q);
		//imp(b);
		fore(l,0,SZ(b)){
			ll c=0,dif=0;
			fore(r,l,SZ(b)){
				if(r&1)dif+=b[r];
				else c+=b[r];
				if((dif+c)&1){
					if(dif<=c-1)res=max(res,c);
				}
				else {
					if(dif<=c)res=max(res,c);
				}
			}
		}
		for(auto j:pos[i])bal.upd(j,-1),yo.upd(j,0);
	}
	return res;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 132 ms 49496 KB Output is correct
3 Incorrect 154 ms 49492 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Execution timed out 2065 ms 44792 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 178 ms 54612 KB Output is correct
2 Correct 173 ms 54612 KB Output is correct
3 Correct 240 ms 53824 KB Output is correct
4 Correct 172 ms 53840 KB Output is correct
5 Incorrect 149 ms 50596 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -