提出 #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


*/

提出情報

提出日時
問題 F - Variety Split Hard
ユーザ cpz0342
言語 C++ 20 (gcc 12.2)
得点 550
コード長 1969 Byte
結果 AC
実行時間 167 ms
メモリ 16576 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 550 / 550
結果
AC × 2
AC × 44
セット名 テストケース
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