Submission #44114391
Source Code Expand
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define op(x) ((x&1)?x+1:x-1)
#define odd(x) (x&1)
#define even(x) (!odd(x))
#define lc(x) (x<<1)
#define rc(x) (lc(x)|1)
#define lowbit(x) (x&-x)
#define mp(x,y) make_pair(x,y)
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
using namespace std;
const int MAXN = 5e5+10;
int n,a[MAXN],b[MAXN];
void tomin(int& x,int y){
x = min(x,y);
}
ll ans;
struct DSU{
int fa[MAXN];
void init(){
iota(fa+1,fa+2+n,1);
}
int find(int x){
return (fa[x] == x) ? (x) : (fa[x] = find(fa[x]));
}
void rst(int x){
fa[x] = find(x+1);
}
}dsu;
vector<array<int,2> >mdf[MAXN];
multiset<int>S;
set<int>R[MAXN];
void del(int x){
dsu.rst(x);
R[a[x]].erase(x);
}
int main(){
cin>>n;
rep(i,1,n){
cin>>a[i];
}
dsu.init();
rep(i,1,n){
if(a[i] > 1){
if(R[a[i]-1].size()){
int u = *R[a[i]-1].rbegin();
b[i] = u;
R[a[i]-1].erase(u);
for(int j = dsu.find(u);j < i;j = dsu.find(j)){
del(j);
}
}
}
R[a[i]].insert(i);
}
rep(i,1,n)if(a[i] > 1){
mdf[b[i]+1].push_back({i-1,1});
mdf[i+1].push_back({i-1,-1});
}
rep(i,1,n){
for(auto [x,y] : mdf[i]){
if(y == 1)S.insert(x);
else S.erase(S.find(x));
}
int p = (S.size()) ? (*S.begin()) : (n);
ans += p-i+1;
}
cout<<ans<<endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - Insert 1, 2, 3, ... |
| User | Crying |
| Language | C++ (GCC 9.2.1) |
| Score | 600 |
| Code Size | 1489 Byte |
| Status | AC |
| Exec Time | 295 ms |
| Memory | 83356 KB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 01_sample_01.txt, 01_sample_02.txt, 01_sample_03.txt |
| All | 01_sample_01.txt, 01_sample_02.txt, 01_sample_03.txt, 02_rand_1_01.txt, 02_rand_1_02.txt, 02_rand_1_03.txt, 02_rand_1_04.txt, 02_rand_1_05.txt, 02_rand_1_06.txt, 02_rand_1_07.txt, 02_rand_1_08.txt, 02_rand_1_09.txt, 02_rand_1_10.txt, 02_rand_1_11.txt, 02_rand_1_12.txt, 02_rand_1_13.txt, 02_rand_1_14.txt, 02_rand_1_15.txt, 03_rand_2_01.txt, 03_rand_2_02.txt, 03_rand_2_03.txt, 03_rand_2_04.txt, 03_rand_2_05.txt, 03_rand_2_06.txt, 03_rand_2_07.txt, 03_rand_2_08.txt, 03_rand_2_09.txt, 03_rand_2_10.txt, 03_rand_2_11.txt, 03_rand_2_12.txt, 03_rand_2_13.txt, 03_rand_2_14.txt, 03_rand_2_15.txt, 03_rand_2_16.txt, 03_rand_2_17.txt, 03_rand_2_18.txt, 03_rand_2_19.txt, 03_rand_2_20.txt, 03_rand_2_21.txt, 03_rand_2_22.txt, 03_rand_2_23.txt, 03_rand_2_24.txt, 03_rand_2_25.txt, 03_rand_2_26.txt, 03_rand_2_27.txt, 03_rand_2_28.txt, 03_rand_2_29.txt, 03_rand_2_30.txt, 03_rand_2_31.txt, 03_rand_2_32.txt, 03_rand_2_33.txt, 03_rand_2_34.txt, 03_rand_2_35.txt, 03_rand_2_36.txt, 03_rand_2_37.txt, 03_rand_2_38.txt, 03_rand_2_39.txt, 03_rand_2_40.txt, 03_rand_2_41.txt, 03_rand_2_42.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01_sample_01.txt | AC | 30 ms | 38560 KB |
| 01_sample_02.txt | AC | 32 ms | 38744 KB |
| 01_sample_03.txt | AC | 30 ms | 38672 KB |
| 02_rand_1_01.txt | AC | 39 ms | 38668 KB |
| 02_rand_1_02.txt | AC | 31 ms | 38596 KB |
| 02_rand_1_03.txt | AC | 192 ms | 65896 KB |
| 02_rand_1_04.txt | AC | 192 ms | 66080 KB |
| 02_rand_1_05.txt | AC | 37 ms | 38652 KB |
| 02_rand_1_06.txt | AC | 200 ms | 60300 KB |
| 02_rand_1_07.txt | AC | 197 ms | 60176 KB |
| 02_rand_1_08.txt | AC | 225 ms | 63544 KB |
| 02_rand_1_09.txt | AC | 225 ms | 63212 KB |
| 02_rand_1_10.txt | AC | 238 ms | 67160 KB |
| 02_rand_1_11.txt | AC | 241 ms | 67196 KB |
| 02_rand_1_12.txt | AC | 269 ms | 74624 KB |
| 02_rand_1_13.txt | AC | 271 ms | 74688 KB |
| 02_rand_1_14.txt | AC | 293 ms | 83232 KB |
| 02_rand_1_15.txt | AC | 295 ms | 83356 KB |
| 03_rand_2_01.txt | AC | 193 ms | 68412 KB |
| 03_rand_2_02.txt | AC | 196 ms | 68328 KB |
| 03_rand_2_03.txt | AC | 196 ms | 68276 KB |
| 03_rand_2_04.txt | AC | 194 ms | 68320 KB |
| 03_rand_2_05.txt | AC | 194 ms | 68252 KB |
| 03_rand_2_06.txt | AC | 200 ms | 68428 KB |
| 03_rand_2_07.txt | AC | 197 ms | 68316 KB |
| 03_rand_2_08.txt | AC | 210 ms | 65124 KB |
| 03_rand_2_09.txt | AC | 207 ms | 65084 KB |
| 03_rand_2_10.txt | AC | 209 ms | 65084 KB |
| 03_rand_2_11.txt | AC | 210 ms | 64976 KB |
| 03_rand_2_12.txt | AC | 211 ms | 64988 KB |
| 03_rand_2_13.txt | AC | 209 ms | 65068 KB |
| 03_rand_2_14.txt | AC | 210 ms | 65060 KB |
| 03_rand_2_15.txt | AC | 213 ms | 62708 KB |
| 03_rand_2_16.txt | AC | 212 ms | 62756 KB |
| 03_rand_2_17.txt | AC | 214 ms | 62820 KB |
| 03_rand_2_18.txt | AC | 212 ms | 62816 KB |
| 03_rand_2_19.txt | AC | 211 ms | 62772 KB |
| 03_rand_2_20.txt | AC | 213 ms | 62788 KB |
| 03_rand_2_21.txt | AC | 214 ms | 62736 KB |
| 03_rand_2_22.txt | AC | 190 ms | 60036 KB |
| 03_rand_2_23.txt | AC | 191 ms | 59976 KB |
| 03_rand_2_24.txt | AC | 192 ms | 60072 KB |
| 03_rand_2_25.txt | AC | 191 ms | 60044 KB |
| 03_rand_2_26.txt | AC | 188 ms | 60012 KB |
| 03_rand_2_27.txt | AC | 193 ms | 59908 KB |
| 03_rand_2_28.txt | AC | 191 ms | 59940 KB |
| 03_rand_2_29.txt | AC | 174 ms | 60068 KB |
| 03_rand_2_30.txt | AC | 177 ms | 59992 KB |
| 03_rand_2_31.txt | AC | 177 ms | 60040 KB |
| 03_rand_2_32.txt | AC | 175 ms | 60036 KB |
| 03_rand_2_33.txt | AC | 178 ms | 60136 KB |
| 03_rand_2_34.txt | AC | 176 ms | 60032 KB |
| 03_rand_2_35.txt | AC | 177 ms | 60116 KB |
| 03_rand_2_36.txt | AC | 203 ms | 61620 KB |
| 03_rand_2_37.txt | AC | 202 ms | 61068 KB |
| 03_rand_2_38.txt | AC | 208 ms | 60532 KB |
| 03_rand_2_39.txt | AC | 204 ms | 62860 KB |
| 03_rand_2_40.txt | AC | 206 ms | 60792 KB |
| 03_rand_2_41.txt | AC | 205 ms | 63576 KB |
| 03_rand_2_42.txt | AC | 205 ms | 63476 KB |