提出 #63935285
ソースコード 拡げる
#include<bits/stdc++.h>
#define LL long long
#define ull unsigned long long
#define mkpr make_pair
#define lc(p) ((p)*2)
#define rc(p) ((p)*2+1)
#define fir first
#define sec second
using namespace std;
inline LL read() {
LL x=0;
bool t=0;
char ch=getchar();
while(ch<'0'||ch>'9')t|=(ch=='-'),ch=getchar();
while(ch>='0'&&ch<='9')x=x*10+(ch^48),ch=getchar();
return t?-x:x;
}
const int N=300005;
int n,a[N];
int ans,f[N],g[N],mp[N];
int tr[N<<2],tag[N<<2];
void pushup(int p) {
tr[p]=max(tr[lc(p)],tr[rc(p)]);
}
void pushdown(int p) {
if(tag[p]) {
tr[lc(p)]+=tag[p];
tr[rc(p)]+=tag[p];
tag[lc(p)]+=tag[p];
tag[rc(p)]+=tag[p];
tag[p]=0;
}
}
void modify(int p,int l,int r,int ql,int qr,int v) {
if(ql<=l&&r<=qr) {
tr[p]+=v;
tag[p]+=v;
return;
}
pushdown(p);
int mid=(l+r)>>1;
if(ql<=mid)modify(lc(p),l,mid,ql,qr,v);
if(qr>mid)modify(rc(p),mid+1,r,ql,qr,v);
pushup(p);
}
int query(int p,int l,int r,int ql,int qr) {
if(ql<=l&&r<=qr) {
return tr[p];
}
pushdown(p);
int mid=(l+r)>>1;
if(qr<=mid)return query(lc(p),l,mid,ql,qr);
if(ql>mid)return query(rc(p),mid+1,r,ql,qr);
return max(query(lc(p),l,mid,ql,qr),query(rc(p),mid+1,r,ql,qr));
}
int main() {
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
n=read();
for(int i=1; i<=n; i++) {
a[i]=read();
}
for(int i=n; i>=1; i--) {
g[i]=g[i+1]+(mp[a[i]]==0);
mp[a[i]]=i;
}
memset(mp,0,sizeof mp);
for(int i=1; i<n; i++) {
if(i>1)modify(1,1,n,max(1,mp[a[i]]),i-1,1);
if(i>1)ans=max(ans,query(1,1,n,1,i-1)+g[i+1]);
f[i]=f[i-1]+(mp[a[i]]==0);
modify(1,1,n,i,i,f[i]);
mp[a[i]]=i;
}
cout<<ans;
return 0;
}
/*
add i
j<lst[i] no effect
j>=lst[i] +1
*/
提出情報
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
550 / 550 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00_sample_00.txt, 00_sample_01.txt |
| All |
00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_00.txt |
AC |
1 ms |
4664 KiB |
| 00_sample_01.txt |
AC |
1 ms |
4696 KiB |
| 01_test_00.txt |
AC |
1 ms |
4760 KiB |
| 01_test_01.txt |
AC |
1 ms |
4836 KiB |
| 01_test_02.txt |
AC |
1 ms |
4768 KiB |
| 01_test_03.txt |
AC |
1 ms |
4672 KiB |
| 01_test_04.txt |
AC |
1 ms |
4668 KiB |
| 01_test_05.txt |
AC |
34 ms |
7672 KiB |
| 01_test_06.txt |
AC |
147 ms |
16372 KiB |
| 01_test_07.txt |
AC |
91 ms |
11280 KiB |
| 01_test_08.txt |
AC |
151 ms |
16372 KiB |
| 01_test_09.txt |
AC |
92 ms |
11136 KiB |
| 01_test_10.txt |
AC |
146 ms |
16308 KiB |
| 01_test_11.txt |
AC |
40 ms |
7976 KiB |
| 01_test_12.txt |
AC |
150 ms |
16564 KiB |
| 01_test_13.txt |
AC |
120 ms |
11804 KiB |
| 01_test_14.txt |
AC |
146 ms |
16424 KiB |
| 01_test_15.txt |
AC |
167 ms |
16356 KiB |
| 01_test_16.txt |
AC |
114 ms |
16424 KiB |
| 01_test_17.txt |
AC |
162 ms |
16340 KiB |
| 01_test_18.txt |
AC |
115 ms |
16436 KiB |
| 01_test_19.txt |
AC |
158 ms |
16576 KiB |
| 01_test_20.txt |
AC |
116 ms |
16340 KiB |
| 01_test_21.txt |
AC |
154 ms |
16348 KiB |
| 01_test_22.txt |
AC |
118 ms |
16368 KiB |
| 01_test_23.txt |
AC |
148 ms |
16308 KiB |
| 01_test_24.txt |
AC |
117 ms |
16372 KiB |
| 01_test_25.txt |
AC |
107 ms |
15288 KiB |
| 01_test_26.txt |
AC |
111 ms |
15328 KiB |
| 01_test_27.txt |
AC |
110 ms |
15416 KiB |
| 01_test_28.txt |
AC |
111 ms |
15532 KiB |
| 01_test_29.txt |
AC |
110 ms |
15356 KiB |
| 01_test_30.txt |
AC |
109 ms |
15444 KiB |
| 01_test_31.txt |
AC |
117 ms |
16516 KiB |
| 01_test_32.txt |
AC |
121 ms |
16496 KiB |
| 01_test_33.txt |
AC |
1 ms |
4612 KiB |
| 01_test_34.txt |
AC |
1 ms |
4616 KiB |
| 01_test_35.txt |
AC |
117 ms |
16320 KiB |
| 01_test_36.txt |
AC |
112 ms |
16380 KiB |
| 01_test_37.txt |
AC |
111 ms |
16428 KiB |
| 01_test_38.txt |
AC |
117 ms |
16436 KiB |
| 01_test_39.txt |
AC |
117 ms |
16380 KiB |
| 01_test_40.txt |
AC |
117 ms |
16556 KiB |
| 01_test_41.txt |
AC |
118 ms |
16524 KiB |