QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#59741 | #4863. Equivalence in Connectivity | captured | ML | 248ms | 254768kb | C++17 | 7.9kb | 2022-10-31 22:35:34 | 2022-10-31 22:35:38 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define endl "\n"
#define LL long long
#define deb(x) cerr<<#x<<" : "<<x<<" "
#define dnl cerr<<endl
#define FOR(i,n) for(int i=0;i<n;i++)
#define cnd tree[idx]
#define lnd idx*2,b,(b+e)/2
#define rnd idx*2+1,(b+e)/2 + 1,e
typedef pair<int,int> pii;
inline LL power(LL a,LL b,LL m){
if(b==0)return 1;
if(b==1)return a%m;
LL x = power(a,b>>1,m);
x = (x*x)%m;
if(b%2){
x = (x*a)%m;
}
return x;
}
const int mx = 8e5+5;
LL P[2][mx];
const int base[4]={23, 29,37,79};
const int mod[4]={87187,99991,(int)1e9+7, (int)1e9+9};
LL powerofmod[2][mx];
LL globalhash[2];
LL hashval[2][mx];
int cntofhash=2;
inline LL getcurrenthash(){
LL x = globalhash[0], y = globalhash[1];
return (x<<31)^y;
}
struct dsu_save {
int v, rnkv, u, rnku;
dsu_save() {}
dsu_save(int _v, int _rnkv, int _u, int _rnku)
: v(_v), rnkv(_rnkv), u(_u), rnku(_rnku) {}
};
struct dsu_with_rollbacks {
int p[mx],rnk[mx],sz[mx];
int comps;
stack<dsu_save> op;
int N;
dsu_with_rollbacks() {}
inline void add(int u){
FOR(i,2){
globalhash[i] += powerofmod[i][ hashval[i][u] ];
globalhash[i] %= mod[i+2];
}
}
inline void rem(int u){
FOR(i,2){
globalhash[i] -= powerofmod[i][ hashval[i][u] ];
globalhash[i] += mod[i+2];
globalhash[i] %= mod[i+2];
}
}
inline void init(int n) {
N = n;
while(!op.empty())op.pop();
for (int i = 0; i <= n; i++) {
p[i] = i;
rnk[i] = 0;
FOR(j,cntofhash){
hashval[j][i] = P[j][i];
globalhash[j] += powerofmod[j][ P[j][i] ];
globalhash[j] %= mod[j+2];
}
}
comps = n;
}
inline int find_set(int v) {
return (v == p[v]) ? v : find_set(p[v]);
}
inline bool unite(int v, int u) {
v = find_set(v);
u = find_set(u);
if (v == u)
return false;
comps--;
if (rnk[v] > rnk[u])
swap(v, u);
op.push(dsu_save(v, rnk[v], u, rnk[u]));
p[v] = u;
rem(u);
rem(v);
FOR(i,2){
hashval[i][u] += hashval[i][v];
hashval[i][u] %= mod[i];
}
add(u);
if (rnk[u] == rnk[v])
rnk[u]++;
return true;
}
inline void rollback() {
if (op.empty())
return;
dsu_save x = op.top();
op.pop();
comps++;
rem(x.u);
FOR(i,2){
hashval[i][x.u] -= hashval[i][x.v];
hashval[i][x.u] += mod[i];
hashval[i][x.u] %= mod[i];
}
add(x.u);
add(x.v);
p[x.v] = x.v;
rnk[x.v] = x.rnkv;
p[x.u] = x.u;
rnk[x.u] = x.rnku;
}
// void show(){
// for(int i=1;i<=N;i++){
// deb(i);deb(p[i]);deb(hashval[1][i]);
// dnl;
// }
// FOR(i,cntofhash)deb(globalhash[i]);dnl;
// }
} dsu;
struct oper{
int typ;
int u,v;
int dest;
bool united;
void reset(){
typ=0,u=0,v=0,dest=0,united=0;
}
};
int posinq[4*mx];
oper oplist[4*mx];
LL finalhash[mx];
LL hashoftim[4*mx];
vector<oper> g[mx];
int curtime;
int kartime[4*mx];
void buildtimeline(int u,oper x){
curtime++;
oplist[curtime]=x;
posinq[u]=curtime;
kartime[curtime] = u;
for(oper op:g[u]){
buildtimeline(op.dest,op);
}
curtime++;
x.typ *= -1;
oplist[curtime] = x;
}
struct QueryTree {
vector<oper> tree[10*mx];
int T;
QueryTree() {}
inline void init(int _T){
T = _T;
FOR(i,4*_T+400)tree[i].clear();
}
inline void add_query_to_tree(int idx,int b,int e,int l,int r,oper q){
if(l>e or r<b)return;
if(l<=b and r>=e){
q.united=0;
cnd.push_back(q);
return;
}
add_query_to_tree(lnd,l,r,q);
add_query_to_tree(rnd,l,r,q);
}
inline void add_query(oper q, int l, int r) {
add_query_to_tree(1, 1, T, l, r, q);
}
void offline_dcp(int idx,int b,int e){
for(oper &q:cnd){
q.united = dsu.unite(q.u,q.v);
}
hashoftim[b] = getcurrenthash();
if(b==e){
}
else{
offline_dcp(lnd);
offline_dcp(rnd);
}
for(oper q:cnd){
if(q.united){
dsu.rollback();
}
}
}
inline void solve(){
offline_dcp(1,1,T);
}
} DCP;
vector<int> groups[mx];
void tcreset(int n,int k){
FOR(i,k+2){
finalhash[i] = 0;
groups[i].clear();
g[i].clear();
}
FOR(i,curtime+2){
hashoftim[i]=0;
oplist[i].reset();
}
FOR(i,2){
globalhash[i]=0;
FOR(j,n)hashval[i][j] = 0;
}
curtime = 0;
FOR(i,n+2)posinq[i] = 0;
}
/*
3
8 5 2
1 5
1 4
1 add 2 4
1 add 3 4
1 add 2 4
4 add 3 4
4 add 1 3
5 add 1 3
2 add 2 3
*/
void solve(int cs){
int n,m,k;
// vector<vector<int>> timeline;
cin>>k>>n>>m;
dsu.init(n);
curtime = 1;
vector<vector<int>> edges;
FOR(ii,m){
int u,v;
cin>>u>>v;
// dsu.unite(u,v);
oper cop;
cop.dest=0,cop.typ=1;
cop.u=u,cop.v=v;
oplist[curtime++] = cop;
edges.push_back({u,v});
}
FOR(i,k-1){
int par;string s;int u,v;
int typ;
cin>>par>>s>>u>>v;
if(s=="add")typ=1;
else typ=-1;
g[par].push_back({typ,u,v,i+2});
}
buildtimeline(1,{0,0,0,0});
for(auto e:edges){
oplist[curtime++] = {-1,e[0],e[1],0};
}
map<pii,int> mp;
DCP.init(curtime);
vector<int> used(curtime+2,0);
for(int i=1;i<=curtime;i++){
int u = oplist[i].u, v = oplist[i].v;
int t = oplist[i].typ;
if(u > v)swap(u,v);
pii x(u,v);
if(t==0)continue;
if( t==-1 ){
if(mp.find(x)==mp.end() or mp[x]==0){
}
else{
int l = mp[x];
DCP.add_query({1,u,v,0,0},l,i-1);
mp[x] = 0;
used[l]=1;
}
}
else if(t==1){
mp[x] = i;
}
}
for(int i=1;i<=curtime;i++){
if(oplist[i].typ==1 and !used[i]){
int u = oplist[i].u, v = oplist[i].v;
DCP.add_query(oplist[i],i,curtime);
}
}
DCP.solve();
unordered_map<LL,int> gmap;
int groupcount = 0;
for(int i=1;i<=k;i++){
int t = posinq[i];
LL cx = hashoftim[t];
if(gmap.find(cx)==gmap.end()){
gmap[cx]= i;
groups[i].push_back(i);
groupcount++;
}
else{
int px = gmap[cx];
groups[px].push_back(i);
}
}
//
cout<<groupcount<<endl;
for(int i=1;i<=k;i++){
if((int)groups[i].size() > 0){
cout<<(int)groups[i].size();
for(int g:groups[i])cout<<" "<<g;
cout<<endl;
}
}
tcreset(n,k);
}
int main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
FOR(i,2){
P[i][0]=1;
for(int j=1;j<mx;j++){
P[i][j] = (P[i][j-1]*base[i])%mod[i];
}
}
FOR(i,2){
powerofmod[i][0] = 1;
for(int j=1;j<mod[i];j++){
powerofmod[i][j] = powerofmod[i][j-1]*base[i+2];
powerofmod[i][j] %= mod[i+2];
}
}
int t;cin>>t;
for(int cs=1;cs<=t;cs++){
solve(cs);
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 85ms
memory: 246040kb
input:
2 15 11 8 6 11 1 6 6 9 6 8 1 2 1 5 9 10 2 5 1 add 3 11 1 add 2 3 3 add 5 8 4 add 5 11 3 add 7 10 1 add 6 10 3 add 3 10 1 remove 6 8 5 add 4 9 1 add 2 9 8 add 7 8 3 add 2 4 1 remove 6 9 10 remove 6 9 14 5 2 1 5 1 4 1 add 2 4 1 add 3 4 1 add 2 4 4 add 3 4 4 add 1 3 5 add 1 3 2 add 2 3 1 add 1 2 4 add ...
output:
7 3 1 7 11 5 2 3 4 5 8 2 6 12 1 9 2 10 13 1 14 1 15 5 2 1 14 3 2 4 9 2 3 11 6 5 6 7 8 10 12 1 13
result:
ok 2 test cases (2 test cases)
Test #2:
score: 0
Accepted
time: 131ms
memory: 246016kb
input:
100000 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0...
output:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
result:
ok 100000 test cases (100000 test cases)
Test #3:
score: 0
Accepted
time: 102ms
memory: 245996kb
input:
50000 1 2 0 1 2 1 1 2 1 2 1 1 2 1 1 0 1 1 0 1 1 0 2 2 0 1 add 1 2 2 2 0 1 add 1 2 1 1 0 1 1 0 1 1 0 1 2 0 2 2 0 1 add 1 2 1 1 0 1 2 0 1 1 0 1 1 0 1 2 1 1 2 1 1 0 1 1 0 1 1 0 2 2 1 1 2 1 remove 1 2 1 1 0 1 2 0 2 2 1 1 2 1 remove 1 2 1 2 0 1 2 0 1 1 0 2 2 1 1 2 1 remove 1 2 1 1 0 1 1 0 2 2 0 1 add 1 2...
output:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
result:
ok 50000 test cases (50000 test cases)
Test #4:
score: 0
Accepted
time: 107ms
memory: 246300kb
input:
20000 1 1 0 5 4 5 1 4 2 3 2 4 1 3 1 2 1 remove 1 4 1 remove 1 3 3 add 1 3 3 remove 1 4 1 1 0 4 3 1 1 2 1 add 2 3 2 remove 2 3 3 add 2 3 2 4 2 2 3 1 3 1 add 3 4 2 4 0 1 add 3 4 1 3 3 1 3 2 3 1 2 3 3 1 1 2 1 add 2 3 1 add 2 3 2 4 0 1 add 1 2 2 4 3 2 4 1 4 2 3 1 add 1 3 1 2 1 1 2 1 3 3 1 3 2 3 1 2 1 1 ...
output:
1 1 1 1 5 1 2 3 4 5 1 1 1 2 2 1 3 2 2 4 2 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 2 2 3 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 3 1 1 2 2 4 1 3 1 1 1 2 3 1 3 4 1 2 1 1 1 1 3 1 2 3 1 1 1 4 2 1 3 1 2 1 4 1 5 1 1 1 1 1 1 2 2 1 4 3 2 3 5 2 1 1 1 2 2 1 1 1 2 1 1 1 3 1 1 1 2 1 3 2 3 1 2 3 1 4 2 1 1 2 2 3 1 1 ...
result:
ok 20000 test cases (20000 test cases)
Test #5:
score: 0
Accepted
time: 115ms
memory: 245392kb
input:
10000 1 4 4 3 4 1 3 1 2 2 3 3 4 4 2 3 1 3 1 2 3 4 1 add 2 4 1 remove 3 4 8 6 9 1 5 3 5 2 3 1 3 3 4 4 5 1 2 2 5 4 6 1 remove 3 5 2 remove 3 4 3 remove 1 3 3 remove 1 3 1 add 5 6 1 add 3 6 1 add 2 6 1 1 0 2 5 9 3 4 4 5 1 4 1 3 1 5 3 5 2 5 1 2 2 3 1 remove 2 3 9 2 1 1 2 1 remove 1 2 2 add 1 2 1 remove ...
output:
1 1 1 2 2 1 2 1 3 1 8 1 2 3 4 5 6 7 8 1 1 1 1 2 1 2 2 3 1 3 9 6 2 4 5 6 7 8 7 1 1 1 2 2 3 8 1 4 2 5 6 1 7 1 9 3 2 1 3 1 2 1 4 4 1 1 1 2 2 3 5 1 4 1 1 1 5 1 1 1 2 1 3 1 4 1 5 5 1 1 2 2 6 1 3 1 4 1 5 4 1 1 3 2 3 7 3 4 6 8 1 5 2 1 1 1 2 3 1 1 1 2 1 3 2 3 1 4 5 2 2 3 1 1 1 5 1 1 1 2 4 3 4 6 7 2 5 8 1 9 ...
result:
ok 10000 test cases (10000 test cases)
Test #6:
score: 0
Accepted
time: 117ms
memory: 245388kb
input:
5000 18 10 13 4 7 2 5 1 8 8 10 4 6 9 10 3 10 8 9 1 7 2 4 3 9 2 9 2 3 1 remove 1 7 1 remove 4 7 1 add 6 8 4 add 5 6 2 add 4 9 3 add 2 6 6 remove 4 9 6 add 3 6 7 remove 2 9 10 add 6 10 9 add 7 9 8 add 3 6 8 add 1 9 1 remove 1 7 2 add 4 10 5 add 3 5 13 add 5 7 9 3 3 2 3 1 3 1 2 1 remove 2 3 1 remove 1 ...
output:
1 18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 6 1 2 3 4 5 7 2 6 8 1 9 6 1 1 5 2 4 7 8 10 3 3 5 11 1 6 1 9 1 12 1 8 1 2 3 4 5 6 7 8 17 1 1 1 2 2 3 5 1 4 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 2 4 1 2 5 6 2 3 4 1 3 1 2 3 5 1 1 1 2 1 3 1 4 1 5 1 1 1 1 1 1 1 1 1 2 1 1 7 2 3 4...
result:
ok 5000 test cases (5000 test cases)
Test #7:
score: 0
Accepted
time: 147ms
memory: 245692kb
input:
2000 11 40 21 6 19 16 18 24 30 13 35 16 32 7 11 17 38 28 33 32 36 17 26 28 30 2 19 3 17 9 12 21 34 8 40 13 27 23 36 24 32 22 27 16 31 1 add 4 11 2 add 31 34 1 add 8 13 2 add 8 22 5 add 6 30 6 add 21 29 1 add 12 38 6 add 27 32 1 add 33 35 3 add 13 18 27 49 19 10 46 15 47 23 34 38 39 20 24 2 18 1 13 4...
output:
11 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 26 2 1 25 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 26 1 27 1 1 1 37 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25...
result:
ok 2000 test cases (2000 test cases)
Test #8:
score: 0
Accepted
time: 154ms
memory: 245292kb
input:
1000 54 84 96 19 74 38 61 61 66 26 59 31 56 12 48 24 63 5 14 12 14 51 78 36 49 18 64 14 38 16 50 55 75 29 52 15 65 12 27 3 13 40 52 48 83 7 81 23 30 23 54 62 74 32 75 66 67 4 69 32 34 8 23 78 80 24 70 3 52 22 73 19 35 22 52 17 60 49 83 9 63 53 81 18 29 8 9 34 47 23 82 30 81 53 61 16 62 2 7 19 25 17 ...
output:
6 43 1 2 3 4 5 6 7 8 11 12 13 14 16 17 20 21 22 23 24 25 26 27 28 30 32 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 52 53 54 7 9 15 18 19 29 31 33 1 10 1 43 1 50 1 51 87 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 2...
result:
ok 1000 test cases (1000 test cases)
Test #9:
score: 0
Accepted
time: 173ms
memory: 246776kb
input:
500 92 109 51 59 76 18 43 28 63 11 75 63 106 44 59 39 49 34 37 53 75 16 36 50 101 41 60 22 23 89 101 30 88 85 92 72 102 3 44 81 90 30 85 23 31 62 83 51 63 77 78 53 92 58 95 37 97 72 99 68 88 59 78 32 104 68 102 40 62 26 30 101 109 55 94 31 98 25 80 55 56 38 106 53 56 23 91 5 97 4 92 2 92 21 36 38 73...
output:
89 2 1 13 1 2 1 3 1 4 1 5 1 6 1 7 1 8 2 9 14 1 10 1 11 1 12 1 15 1 16 2 17 22 1 18 1 19 1 20 1 21 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 41 1 42 1 43 1 44 1 45 1 46 1 47 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 56 1 57 1 58 1 59 1 60 1 61 1 62 1 ...
result:
ok 500 test cases (500 test cases)
Test #10:
score: 0
Accepted
time: 171ms
memory: 246376kb
input:
200 317 107 98 45 59 17 106 48 89 10 53 9 84 1 60 74 93 32 79 66 91 76 89 19 31 38 89 15 68 15 46 25 52 20 30 32 92 46 86 75 98 65 66 36 61 44 89 19 39 14 24 40 54 25 39 42 51 10 107 13 76 10 34 41 69 6 14 49 66 12 98 6 93 43 83 50 75 26 29 35 37 19 78 26 45 48 81 87 104 40 42 101 105 23 48 29 100 5...
output:
103 30 1 2 3 4 5 7 11 17 31 38 42 66 67 76 78 82 84 94 108 133 138 151 174 201 228 244 245 246 276 312 20 6 10 28 54 56 59 62 64 83 90 113 115 143 148 162 167 199 211 292 298 16 8 14 29 34 49 53 77 116 137 178 187 190 222 225 254 290 19 9 19 22 25 57 69 70 93 124 149 194 196 207 219 227 257 268 286 ...
result:
ok 200 test cases (200 test cases)
Test #11:
score: 0
Accepted
time: 200ms
memory: 246024kb
input:
100 121 451 775 4 424 238 297 74 370 59 244 17 182 151 421 104 277 149 154 135 381 289 451 177 257 69 79 255 315 108 351 42 266 79 117 47 365 105 350 124 393 226 260 11 101 203 279 93 174 316 352 144 332 111 404 44 333 195 237 43 72 70 112 29 446 5 36 31 262 367 370 252 260 10 212 57 423 84 129 10 2...
output:
16 19 1 3 9 11 20 30 34 38 43 45 46 59 69 71 76 80 81 99 116 51 2 4 5 6 7 8 10 12 13 14 15 16 19 24 26 27 28 32 33 36 37 41 42 44 47 51 52 53 54 55 56 58 61 64 66 68 72 83 85 87 88 101 102 103 105 106 108 109 112 113 118 7 17 18 48 49 86 91 119 11 21 23 29 60 84 89 90 93 95 104 121 2 22 77 10 25 31 ...
result:
ok 100 test cases (100 test cases)
Test #12:
score: 0
Accepted
time: 195ms
memory: 247080kb
input:
50 366 363 871 115 305 7 148 47 163 103 291 24 130 83 328 105 169 109 356 116 155 58 324 195 213 114 341 20 154 9 272 66 204 2 175 62 221 208 295 69 82 15 49 82 269 172 257 27 325 116 347 103 290 131 312 105 269 25 43 238 247 66 184 126 246 93 241 66 123 114 154 150 300 3 245 43 130 53 162 313 337 1...
output:
2 355 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 10...
result:
ok 50 test cases (50 test cases)
Test #13:
score: 0
Accepted
time: 214ms
memory: 250420kb
input:
20 3609 4008 837 2049 2213 500 2782 981 1104 2910 3700 2996 3942 177 2513 1166 3745 1394 2249 203 3592 638 3271 616 1096 805 3419 797 2862 587 2798 1880 2098 786 878 2399 2499 532 2567 2748 3963 1934 3353 506 1599 71 2935 512 3177 62 3844 1666 3590 664 3581 283 3555 579 1354 1601 2363 412 1206 1615 ...
output:
3609 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 41 1 42 1 43 1 44 1 45 1 46 1 47 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 56 1 57 1 58 1 59 1 60 1 61...
result:
ok 20 test cases (20 test cases)
Test #14:
score: 0
Accepted
time: 248ms
memory: 254768kb
input:
10 9915 1990 542 778 1095 530 538 967 1940 57 1069 669 1767 326 1155 508 1531 41 1676 639 1499 712 1271 979 1376 525 1350 648 1659 653 874 984 1767 175 774 1004 1477 304 657 535 568 1126 1597 201 780 681 989 1090 1189 824 1937 1124 1609 213 1238 984 989 446 870 868 955 480 1644 314 1045 181 1308 103...
output:
9912 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 41 1 42 1 43 1 44 1 45 1 46 1 47 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 56 1 57 1 58 1 59 1 60 1 61...
result:
ok 10 test cases (10 test cases)
Test #15:
score: -100
Memory Limit Exceeded
input:
5 2967 17745 19851 10948 16107 4858 14846 3325 7313 2397 4344 10335 11714 1484 1580 3502 12410 12342 16272 9921 11976 6289 6519 9732 15873 960 16079 1993 2798 13211 17278 682 13575 2820 10492 5601 7665 557 5400 650 3869 2979 10428 3159 11311 6899 13508 8963 9837 9977 15458 462 2338 323 12439 7351 13...
output:
850 179 1 2 3 4 11 12 14 15 30 32 42 44 53 58 73 89 116 118 135 144 154 155 157 173 177 203 216 234 248 251 257 273 302 304 308 309 311 319 322 323 327 333 345 403 419 421 431 450 463 466 476 501 502 521 581 590 612 613 618 625 634 649 663 687 700 724 728 732 734 736 742 745 748 765 784 807 825 840 ...