# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
1031071 |
2024-07-22T14:22:20 Z |
Antekb |
JOI tour (JOI24_joitour) |
C++17 |
|
2270 ms |
522528 KB |
#include "bits/stdc++.h" /** keep-include */
using namespace std;
#define rep(i, b, e) for(int i = (b); i <= (e); i++)
#define per(i, b, e) for(int i = (e); i >= (b); i--)
#define FOR(i, b, e) rep(i, b, (e) - 1)
#define SZ(x) int(x.size())
#define all(x) x.begin(), x.end()
#define pb push_back
#define mp make_pair
#define st first
#define nd second
using ll = long long;
using vi = vector<int>;
using pii = pair<int, int>;
auto &operator<<(auto &o, pair<auto, auto> p) {
return o << "(" << p.st << ", " << p.nd << ")"; }
auto operator<<(auto &o, auto x)->decltype(end(x), o) {
o << "{"; int i=0; for(auto e: x) o << ", " + 2*!i++ << e;
return o << "}"; }
#ifdef LOCAL
#define deb(x...) cerr << "[" #x "]: ", [](auto...$) { \
((cerr << $ << "; "),...) << endl; }(x)
#else
#define deb(...)
#endif
#include "joitour.h"
const int N=2e5+5;
ll result;
int typ[N];
struct drzewo{
vi real_name;
vi siz, par, pre, post, subtree, order;
vector<vi> E;
int root=-1, real_root;
int n;
vi ile[2];
vector<ll> sum[2];
ll iles[2]={}, sums[2]={};
ll zle=0;
ll res=0;
int new_name(int v){
return lower_bound(all(real_name), v)-real_name.begin();
}
void dfs_cent(int v){
siz[v]=1;
bool ok=1;
for(int u:E[v]){
if(u!=par[v]){
par[u]=v;
dfs_cent(u);
siz[v]+=siz[u];
if(siz[u]*2>n)ok=0;
}
}
if(ok && 2*(n-siz[v])<=n){
root=v;
}
}
void dfs_init(int v, int sub=-1){
deb(v, sub, order, root, E[v]);
pre[v]=order.size();
order.pb(v);
int cnt=0;
if(v!=root){
subtree[v]=sub;
for(int &u:E[v])if(u==par[v])swap(u, E[v].back());
E[v].pop_back();
}
for(int u:E[v]){
par[u]=v;
if(v==root)dfs_init(u, cnt);
else dfs_init(u, sub);
cnt++;
}
post[v]=order.size();
}
pair<int, ll> licz(int v, int lbl, int num){//num - liczba 1
pair<int, ll> a;
for(int u:E[v]){
auto b=licz(u, lbl, num+(typ[real_name[v]]==1));
a.st+=b.st;
a.nd+=b.nd;
}
if(typ[real_name[v]]==lbl*2){
a.st++;
a.nd+=num;
}
return a;
}
void calc(){
result-=res;
res=0;
iles[0]=0;
iles[1]=0;
sums[0]=0;
sums[1]=0;
zle=0;
for(int i=0; i<E[root].size(); i++){
auto a=licz(E[root][i], 0, 0);
auto b=licz(E[root][i], 1, 0);
ile[0][i]={a.st};
ile[1][i]={b.st};
sum[0][i]={a.nd};
sum[1][i]={b.nd};
iles[0]+=a.st;
iles[1]+=b.st;
sums[0]+=a.nd;
sums[1]+=b.nd;
res-=a.st*b.nd;
res-=a.nd*b.st;
zle+=a.st*1ll*b.st;
}
res+=sums[0]*iles[1];
res+=sums[1]*iles[0];
if(typ[real_name[root]]==1)res+=iles[0]*1ll*iles[1]-zle;
else res+=sums[1-typ[real_name[root]]/2];
result+=res;
}
vector<int> suma[2];
vector<int> srod;
void add_srod(int l, int r, int c){
for(l+=n, r+=n; l<r; l>>=1, r>>=1){
if(l&1)srod[l++]+=c;
if(r&1)srod[--r]+=c;
}
}
int get_srod(int v){
v+=n;
int ans=0;
while(v>0){
ans+=srod[v];
v/=2;
}
return ans;
}
int licz_suma(int l, int r, int ktora){
int ans=0;
for(l+=n, r+=n; l<r; l>>=1, r>>=1){
if(l&1)ans+=suma[ktora][l++];
if(r&1)ans+=suma[ktora][--r];
}
return ans;
}
void add_suma(int v, int c, int ktora){
v+=n;
while(v>0){
suma[ktora][v]+=c;
v/=2;
}
}
drzewo(vi V, vector<pii> edges){
deb(V, edges);
real_name=V;
sort(all(real_name));
n=real_name.size();
E.resize(n);
siz.resize(n);
par.resize(n);
subtree.resize(n);
pre.resize(n);
post.resize(n);
par[0]=-1;
for(auto &[u, v] : edges){
deb(u, v, real_name);
u=new_name(u);
v=new_name(v);
E[u].pb(v);
E[v].pb(u);
}
dfs_cent(0);
assert(root!=-1);
deb(root, real_name);
real_root=real_name[root];
par[root]=-1;
ile[0].resize(E[root].size());
ile[1].resize(E[root].size());
sum[0].resize(E[root].size());
sum[1].resize(E[root].size());
dfs_init(root);
calc();
suma[0].resize(n+n);
suma[1].resize(n+n);
srod.resize(n+n);
for(int i=0; i<n; i++){
if(i==root)continue;
if(typ[real_name[i]]==1){
add_srod(pre[i], post[i], 1);
}
else{
add_suma(pre[i], 1, typ[real_name[i]]/2);
}
}
}
pair<vi, vector<pii> > prep(int v){
vi vert;
vector<pii> edg;
for(int i=pre[v]; i<post[v]; i++){
int u=order[i];
vert.pb(real_name[u]);
for(int w:E[u]){
edg.pb(mp(real_name[u], real_name[w]));
}
}
return {vert, edg};
}
void update_slow(){
calc();
deb(res);
}
int licz_gora(int v){
deb(v, typ[real_name[v]]);
if(v==root)return 0;
return licz_gora(par[v])+(typ[real_name[v]]==1);
}
int licz_gora2(int v){
return get_srod(pre[v]);
}
int licz_dol(int v, int lbl){
int cnt=0;
for(int i=pre[v]; i<post[v]; i++){
if(typ[real_name[order[i]]]==lbl)cnt++;
}
return cnt;
}
int licz_dol2(int v, int lbl){
return licz_suma(pre[v], post[v], lbl/2);
}
void update_fast(int v, int stary, int nowy){
v=new_name(v);
deb(root, v, stary, nowy);
deb(ile[0], ile[1], sum[0], sum[1]);
result-=res;
typ[real_name[v]]=stary;
if(typ[real_name[root]]==1)res-=iles[0]*1ll*iles[1]-zle;
else res-=sums[1-typ[real_name[root]]/2];
if(v!=root){
res-=sums[0]*iles[1];
res-=sums[1]*iles[0];
int sub=subtree[v];
iles[0]-=ile[0][sub];
iles[1]-=ile[1][sub];
sums[0]-=sum[0][sub];
sums[1]-=sum[1][sub];
res+=ile[0][sub]*sum[1][sub];
res+=ile[1][sub]*sum[0][sub];
zle-=ile[1][sub]*1ll*ile[0][sub];
if(stary==1){
int cnt0=licz_dol2(v, 0);
int cnt2=licz_dol2(v, 2);
sum[0][sub]-=cnt0;
sum[1][sub]-=cnt2;
add_srod(pre[v], post[v], -1);
}
else{
int cnt=licz_gora2(v);
//deb(cnt, licz_gora2(v));
//assert(cnt==licz_gora2(v));
sum[stary/2][sub]-=cnt;
ile[stary/2][sub]--;
add_suma(pre[v], -1, typ[real_name[v]]/2);
}
deb(ile[0], ile[1], sum[0], sum[1]);
deb(res);
typ[real_name[v]]=nowy;
if(nowy==1){
int cnt0=licz_dol2(v, 0);
int cnt2=licz_dol2(v, 2);
sum[0][sub]+=cnt0;
sum[1][sub]+=cnt2;
add_srod(pre[v], post[v], 1);
}
else{
int cnt=licz_gora2(v);
//deb(cnt, licz_gora2(v));
//assert(cnt==licz_gora2(v));
sum[nowy/2][sub]+=cnt;
ile[nowy/2][sub]++;
add_suma(pre[v], 1, typ[real_name[v]]/2);
}
iles[0]+=ile[0][sub];
iles[1]+=ile[1][sub];
sums[0]+=sum[0][sub];
sums[1]+=sum[1][sub];
res-=ile[0][sub]*sum[1][sub];
res-=ile[1][sub]*sum[0][sub];
zle+=ile[1][sub]*1ll*ile[0][sub];
res+=sums[0]*iles[1];
res+=sums[1]*iles[0];
}
typ[real_name[v]]=nowy;
if(typ[real_name[root]]==1)res+=iles[0]*1ll*iles[1]-zle;
else res+=sums[1-typ[real_name[root]]/2];
result+=res;
deb(root, v, stary, nowy);
deb(ile[0], ile[1], sum[0], sum[1]);
deb(res);
}
};
vector<drzewo*> drzewa(N);
int rodzic[N];
void stworz(vector<int> vert, vector<pii> edg, int par){
drzewo* T=new drzewo(vert, edg);
drzewa[T->real_root]=T;
deb(T->real_root);
rodzic[T->real_root]=par;
for(int u:T->E[T->root]){
auto a = T->prep(u);
deb(T->real_root, a.st, a.nd);
stworz(a.st, a.nd, T->real_root);
}
}
int n;
void init(int _n, std::vector<int> F, std::vector<int> U, std::vector<int> V,
int Q) {
n=_n;
vector<pii> edges;
for(int i=0; i<n-1; i++){
edges.pb(mp(U[i], V[i]));
}
for(int i=0; i<n; i++){
typ[i]=F[i];
}
vi v(n);
iota(all(v), 0);
stworz(v, edges, -1);
}
void change(int X, int Y) {
int stary=typ[X];
int v=X;
typ[X]=Y;
while(X!=-1){
drzewa[X]->update_fast(v, stary, Y);
//drzewa[X]->update_slow();
X=rodzic[X];
}
}
long long num_tours() {
return result;
}
Compilation message
joitour.cpp:17:18: warning: use of 'auto' in parameter declaration only available with '-fconcepts-ts'
17 | auto &operator<<(auto &o, pair<auto, auto> p) {
| ^~~~
joitour.cpp:17:32: warning: use of 'auto' in parameter declaration only available with '-fconcepts-ts'
17 | auto &operator<<(auto &o, pair<auto, auto> p) {
| ^~~~
joitour.cpp:17:38: warning: use of 'auto' in parameter declaration only available with '-fconcepts-ts'
17 | auto &operator<<(auto &o, pair<auto, auto> p) {
| ^~~~
joitour.cpp:19:17: warning: use of 'auto' in parameter declaration only available with '-fconcepts-ts'
19 | auto operator<<(auto &o, auto x)->decltype(end(x), o) {
| ^~~~
joitour.cpp:19:26: warning: use of 'auto' in parameter declaration only available with '-fconcepts-ts'
19 | auto operator<<(auto &o, auto x)->decltype(end(x), o) {
| ^~~~
joitour.cpp: In member function 'void drzewo::calc()':
joitour.cpp:105:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
105 | for(int i=0; i<E[root].size(); i++){
| ~^~~~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1880 KB |
Output is correct |
2 |
Correct |
1 ms |
1880 KB |
Output is correct |
3 |
Correct |
1 ms |
1880 KB |
Output is correct |
4 |
Correct |
3 ms |
2392 KB |
Output is correct |
5 |
Correct |
1 ms |
1880 KB |
Output is correct |
6 |
Correct |
1 ms |
1880 KB |
Output is correct |
7 |
Correct |
1 ms |
1880 KB |
Output is correct |
8 |
Correct |
1 ms |
1880 KB |
Output is correct |
9 |
Correct |
2 ms |
2392 KB |
Output is correct |
10 |
Correct |
2 ms |
2392 KB |
Output is correct |
11 |
Correct |
1 ms |
1880 KB |
Output is correct |
12 |
Correct |
1 ms |
1880 KB |
Output is correct |
13 |
Correct |
1 ms |
1880 KB |
Output is correct |
14 |
Correct |
1 ms |
1880 KB |
Output is correct |
15 |
Correct |
1 ms |
1880 KB |
Output is correct |
16 |
Correct |
1 ms |
1880 KB |
Output is correct |
17 |
Correct |
1 ms |
1880 KB |
Output is correct |
18 |
Correct |
2 ms |
1880 KB |
Output is correct |
19 |
Correct |
3 ms |
2664 KB |
Output is correct |
20 |
Correct |
2 ms |
1880 KB |
Output is correct |
21 |
Correct |
1 ms |
1880 KB |
Output is correct |
22 |
Correct |
1 ms |
1880 KB |
Output is correct |
23 |
Correct |
1 ms |
1880 KB |
Output is correct |
24 |
Correct |
2 ms |
2392 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1880 KB |
Output is correct |
2 |
Correct |
1 ms |
1880 KB |
Output is correct |
3 |
Correct |
1 ms |
1880 KB |
Output is correct |
4 |
Correct |
3 ms |
2392 KB |
Output is correct |
5 |
Correct |
1 ms |
1880 KB |
Output is correct |
6 |
Correct |
1 ms |
1880 KB |
Output is correct |
7 |
Correct |
1 ms |
1880 KB |
Output is correct |
8 |
Correct |
1 ms |
1880 KB |
Output is correct |
9 |
Correct |
2 ms |
2392 KB |
Output is correct |
10 |
Correct |
2 ms |
2392 KB |
Output is correct |
11 |
Correct |
1 ms |
1880 KB |
Output is correct |
12 |
Correct |
1 ms |
1880 KB |
Output is correct |
13 |
Correct |
1 ms |
1880 KB |
Output is correct |
14 |
Correct |
1 ms |
1880 KB |
Output is correct |
15 |
Correct |
1 ms |
1880 KB |
Output is correct |
16 |
Correct |
1 ms |
1880 KB |
Output is correct |
17 |
Correct |
1 ms |
1880 KB |
Output is correct |
18 |
Correct |
2 ms |
1880 KB |
Output is correct |
19 |
Correct |
3 ms |
2664 KB |
Output is correct |
20 |
Correct |
2 ms |
1880 KB |
Output is correct |
21 |
Correct |
1 ms |
1880 KB |
Output is correct |
22 |
Correct |
1 ms |
1880 KB |
Output is correct |
23 |
Correct |
1 ms |
1880 KB |
Output is correct |
24 |
Correct |
2 ms |
2392 KB |
Output is correct |
25 |
Correct |
20 ms |
9560 KB |
Output is correct |
26 |
Correct |
18 ms |
8792 KB |
Output is correct |
27 |
Correct |
10 ms |
5720 KB |
Output is correct |
28 |
Correct |
19 ms |
9660 KB |
Output is correct |
29 |
Correct |
17 ms |
9076 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1880 KB |
Output is correct |
2 |
Correct |
1205 ms |
501416 KB |
Output is correct |
3 |
Correct |
1239 ms |
501156 KB |
Output is correct |
4 |
Correct |
1203 ms |
500972 KB |
Output is correct |
5 |
Correct |
1201 ms |
501668 KB |
Output is correct |
6 |
Correct |
840 ms |
482356 KB |
Output is correct |
7 |
Correct |
853 ms |
482468 KB |
Output is correct |
8 |
Correct |
1145 ms |
488892 KB |
Output is correct |
9 |
Correct |
1119 ms |
482688 KB |
Output is correct |
10 |
Correct |
1066 ms |
462716 KB |
Output is correct |
11 |
Correct |
1018 ms |
450128 KB |
Output is correct |
12 |
Correct |
1205 ms |
495268 KB |
Output is correct |
13 |
Correct |
1286 ms |
495352 KB |
Output is correct |
14 |
Correct |
1178 ms |
495196 KB |
Output is correct |
15 |
Correct |
1150 ms |
495012 KB |
Output is correct |
16 |
Correct |
1220 ms |
520896 KB |
Output is correct |
17 |
Correct |
1 ms |
1880 KB |
Output is correct |
18 |
Correct |
1 ms |
2132 KB |
Output is correct |
19 |
Correct |
1 ms |
1880 KB |
Output is correct |
20 |
Correct |
1 ms |
1880 KB |
Output is correct |
21 |
Correct |
980 ms |
419924 KB |
Output is correct |
22 |
Correct |
987 ms |
417500 KB |
Output is correct |
23 |
Correct |
960 ms |
422784 KB |
Output is correct |
24 |
Correct |
1034 ms |
424032 KB |
Output is correct |
25 |
Correct |
259 ms |
192932 KB |
Output is correct |
26 |
Correct |
248 ms |
192932 KB |
Output is correct |
27 |
Correct |
252 ms |
192832 KB |
Output is correct |
28 |
Correct |
283 ms |
192928 KB |
Output is correct |
29 |
Correct |
872 ms |
522172 KB |
Output is correct |
30 |
Correct |
814 ms |
522324 KB |
Output is correct |
31 |
Correct |
760 ms |
522192 KB |
Output is correct |
32 |
Correct |
765 ms |
522340 KB |
Output is correct |
33 |
Correct |
810 ms |
486724 KB |
Output is correct |
34 |
Correct |
758 ms |
486720 KB |
Output is correct |
35 |
Correct |
754 ms |
486760 KB |
Output is correct |
36 |
Correct |
858 ms |
486700 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1880 KB |
Output is correct |
2 |
Correct |
1 ms |
1880 KB |
Output is correct |
3 |
Correct |
1 ms |
1880 KB |
Output is correct |
4 |
Correct |
1 ms |
1880 KB |
Output is correct |
5 |
Correct |
1 ms |
1880 KB |
Output is correct |
6 |
Correct |
2 ms |
1880 KB |
Output is correct |
7 |
Correct |
3 ms |
2648 KB |
Output is correct |
8 |
Correct |
19 ms |
9816 KB |
Output is correct |
9 |
Correct |
870 ms |
522148 KB |
Output is correct |
10 |
Correct |
849 ms |
522148 KB |
Output is correct |
11 |
Correct |
807 ms |
522296 KB |
Output is correct |
12 |
Correct |
817 ms |
522148 KB |
Output is correct |
13 |
Correct |
648 ms |
251572 KB |
Output is correct |
14 |
Correct |
583 ms |
251572 KB |
Output is correct |
15 |
Correct |
804 ms |
251608 KB |
Output is correct |
16 |
Correct |
766 ms |
251488 KB |
Output is correct |
17 |
Correct |
727 ms |
251572 KB |
Output is correct |
18 |
Correct |
779 ms |
251572 KB |
Output is correct |
19 |
Correct |
1287 ms |
522528 KB |
Output is correct |
20 |
Correct |
1195 ms |
522276 KB |
Output is correct |
21 |
Correct |
1707 ms |
522148 KB |
Output is correct |
22 |
Correct |
1740 ms |
522288 KB |
Output is correct |
23 |
Correct |
1644 ms |
522336 KB |
Output is correct |
24 |
Correct |
1788 ms |
522180 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1880 KB |
Output is correct |
2 |
Correct |
1 ms |
1880 KB |
Output is correct |
3 |
Correct |
1 ms |
1880 KB |
Output is correct |
4 |
Correct |
1 ms |
1880 KB |
Output is correct |
5 |
Correct |
1 ms |
1880 KB |
Output is correct |
6 |
Correct |
2 ms |
2392 KB |
Output is correct |
7 |
Correct |
23 ms |
9048 KB |
Output is correct |
8 |
Correct |
803 ms |
486940 KB |
Output is correct |
9 |
Correct |
866 ms |
487096 KB |
Output is correct |
10 |
Correct |
833 ms |
486812 KB |
Output is correct |
11 |
Correct |
822 ms |
486868 KB |
Output is correct |
12 |
Correct |
608 ms |
233908 KB |
Output is correct |
13 |
Correct |
720 ms |
233908 KB |
Output is correct |
14 |
Correct |
712 ms |
233756 KB |
Output is correct |
15 |
Correct |
712 ms |
233908 KB |
Output is correct |
16 |
Correct |
743 ms |
233912 KB |
Output is correct |
17 |
Correct |
714 ms |
233876 KB |
Output is correct |
18 |
Correct |
1205 ms |
486724 KB |
Output is correct |
19 |
Correct |
1599 ms |
486752 KB |
Output is correct |
20 |
Correct |
1616 ms |
486792 KB |
Output is correct |
21 |
Correct |
1606 ms |
486860 KB |
Output is correct |
22 |
Correct |
1605 ms |
486752 KB |
Output is correct |
23 |
Correct |
1732 ms |
486876 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1880 KB |
Output is correct |
2 |
Correct |
1 ms |
1880 KB |
Output is correct |
3 |
Correct |
1 ms |
1880 KB |
Output is correct |
4 |
Correct |
3 ms |
2392 KB |
Output is correct |
5 |
Correct |
1 ms |
1880 KB |
Output is correct |
6 |
Correct |
1 ms |
1880 KB |
Output is correct |
7 |
Correct |
1 ms |
1880 KB |
Output is correct |
8 |
Correct |
1 ms |
1880 KB |
Output is correct |
9 |
Correct |
2 ms |
2392 KB |
Output is correct |
10 |
Correct |
2 ms |
2392 KB |
Output is correct |
11 |
Correct |
1 ms |
1880 KB |
Output is correct |
12 |
Correct |
1 ms |
1880 KB |
Output is correct |
13 |
Correct |
1 ms |
1880 KB |
Output is correct |
14 |
Correct |
1 ms |
1880 KB |
Output is correct |
15 |
Correct |
1 ms |
1880 KB |
Output is correct |
16 |
Correct |
1 ms |
1880 KB |
Output is correct |
17 |
Correct |
1 ms |
1880 KB |
Output is correct |
18 |
Correct |
2 ms |
1880 KB |
Output is correct |
19 |
Correct |
3 ms |
2664 KB |
Output is correct |
20 |
Correct |
2 ms |
1880 KB |
Output is correct |
21 |
Correct |
1 ms |
1880 KB |
Output is correct |
22 |
Correct |
1 ms |
1880 KB |
Output is correct |
23 |
Correct |
1 ms |
1880 KB |
Output is correct |
24 |
Correct |
2 ms |
2392 KB |
Output is correct |
25 |
Correct |
20 ms |
9560 KB |
Output is correct |
26 |
Correct |
18 ms |
8792 KB |
Output is correct |
27 |
Correct |
10 ms |
5720 KB |
Output is correct |
28 |
Correct |
19 ms |
9660 KB |
Output is correct |
29 |
Correct |
17 ms |
9076 KB |
Output is correct |
30 |
Correct |
751 ms |
240856 KB |
Output is correct |
31 |
Correct |
736 ms |
240856 KB |
Output is correct |
32 |
Correct |
928 ms |
240820 KB |
Output is correct |
33 |
Correct |
952 ms |
241148 KB |
Output is correct |
34 |
Correct |
942 ms |
241272 KB |
Output is correct |
35 |
Correct |
957 ms |
240820 KB |
Output is correct |
36 |
Correct |
727 ms |
231692 KB |
Output is correct |
37 |
Correct |
761 ms |
231764 KB |
Output is correct |
38 |
Correct |
875 ms |
234932 KB |
Output is correct |
39 |
Correct |
870 ms |
231644 KB |
Output is correct |
40 |
Correct |
805 ms |
222644 KB |
Output is correct |
41 |
Correct |
802 ms |
216248 KB |
Output is correct |
42 |
Correct |
826 ms |
237940 KB |
Output is correct |
43 |
Correct |
873 ms |
238028 KB |
Output is correct |
44 |
Correct |
924 ms |
238008 KB |
Output is correct |
45 |
Correct |
944 ms |
237912 KB |
Output is correct |
46 |
Correct |
934 ms |
238004 KB |
Output is correct |
47 |
Correct |
927 ms |
238260 KB |
Output is correct |
48 |
Correct |
824 ms |
250844 KB |
Output is correct |
49 |
Correct |
773 ms |
250844 KB |
Output is correct |
50 |
Correct |
983 ms |
250804 KB |
Output is correct |
51 |
Correct |
706 ms |
205192 KB |
Output is correct |
52 |
Correct |
784 ms |
206292 KB |
Output is correct |
53 |
Correct |
782 ms |
205236 KB |
Output is correct |
54 |
Correct |
787 ms |
204512 KB |
Output is correct |
55 |
Correct |
851 ms |
207028 KB |
Output is correct |
56 |
Correct |
781 ms |
205236 KB |
Output is correct |
57 |
Correct |
278 ms |
97460 KB |
Output is correct |
58 |
Correct |
292 ms |
97460 KB |
Output is correct |
59 |
Correct |
277 ms |
97360 KB |
Output is correct |
60 |
Correct |
307 ms |
97460 KB |
Output is correct |
61 |
Correct |
271 ms |
97460 KB |
Output is correct |
62 |
Correct |
615 ms |
251572 KB |
Output is correct |
63 |
Correct |
562 ms |
251608 KB |
Output is correct |
64 |
Correct |
798 ms |
251544 KB |
Output is correct |
65 |
Correct |
802 ms |
251612 KB |
Output is correct |
66 |
Correct |
765 ms |
251604 KB |
Output is correct |
67 |
Correct |
843 ms |
251616 KB |
Output is correct |
68 |
Correct |
591 ms |
233876 KB |
Output is correct |
69 |
Correct |
699 ms |
233908 KB |
Output is correct |
70 |
Correct |
761 ms |
233908 KB |
Output is correct |
71 |
Correct |
730 ms |
233912 KB |
Output is correct |
72 |
Correct |
735 ms |
233872 KB |
Output is correct |
73 |
Correct |
733 ms |
233684 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1880 KB |
Output is correct |
2 |
Correct |
1 ms |
1880 KB |
Output is correct |
3 |
Correct |
1 ms |
1880 KB |
Output is correct |
4 |
Correct |
3 ms |
2392 KB |
Output is correct |
5 |
Correct |
1 ms |
1880 KB |
Output is correct |
6 |
Correct |
1 ms |
1880 KB |
Output is correct |
7 |
Correct |
1 ms |
1880 KB |
Output is correct |
8 |
Correct |
1 ms |
1880 KB |
Output is correct |
9 |
Correct |
2 ms |
2392 KB |
Output is correct |
10 |
Correct |
2 ms |
2392 KB |
Output is correct |
11 |
Correct |
1 ms |
1880 KB |
Output is correct |
12 |
Correct |
1 ms |
1880 KB |
Output is correct |
13 |
Correct |
1 ms |
1880 KB |
Output is correct |
14 |
Correct |
1 ms |
1880 KB |
Output is correct |
15 |
Correct |
1 ms |
1880 KB |
Output is correct |
16 |
Correct |
1 ms |
1880 KB |
Output is correct |
17 |
Correct |
1 ms |
1880 KB |
Output is correct |
18 |
Correct |
2 ms |
1880 KB |
Output is correct |
19 |
Correct |
3 ms |
2664 KB |
Output is correct |
20 |
Correct |
2 ms |
1880 KB |
Output is correct |
21 |
Correct |
1 ms |
1880 KB |
Output is correct |
22 |
Correct |
1 ms |
1880 KB |
Output is correct |
23 |
Correct |
1 ms |
1880 KB |
Output is correct |
24 |
Correct |
2 ms |
2392 KB |
Output is correct |
25 |
Correct |
20 ms |
9560 KB |
Output is correct |
26 |
Correct |
18 ms |
8792 KB |
Output is correct |
27 |
Correct |
10 ms |
5720 KB |
Output is correct |
28 |
Correct |
19 ms |
9660 KB |
Output is correct |
29 |
Correct |
17 ms |
9076 KB |
Output is correct |
30 |
Correct |
1 ms |
1880 KB |
Output is correct |
31 |
Correct |
1205 ms |
501416 KB |
Output is correct |
32 |
Correct |
1239 ms |
501156 KB |
Output is correct |
33 |
Correct |
1203 ms |
500972 KB |
Output is correct |
34 |
Correct |
1201 ms |
501668 KB |
Output is correct |
35 |
Correct |
840 ms |
482356 KB |
Output is correct |
36 |
Correct |
853 ms |
482468 KB |
Output is correct |
37 |
Correct |
1145 ms |
488892 KB |
Output is correct |
38 |
Correct |
1119 ms |
482688 KB |
Output is correct |
39 |
Correct |
1066 ms |
462716 KB |
Output is correct |
40 |
Correct |
1018 ms |
450128 KB |
Output is correct |
41 |
Correct |
1205 ms |
495268 KB |
Output is correct |
42 |
Correct |
1286 ms |
495352 KB |
Output is correct |
43 |
Correct |
1178 ms |
495196 KB |
Output is correct |
44 |
Correct |
1150 ms |
495012 KB |
Output is correct |
45 |
Correct |
1220 ms |
520896 KB |
Output is correct |
46 |
Correct |
1 ms |
1880 KB |
Output is correct |
47 |
Correct |
1 ms |
2132 KB |
Output is correct |
48 |
Correct |
1 ms |
1880 KB |
Output is correct |
49 |
Correct |
1 ms |
1880 KB |
Output is correct |
50 |
Correct |
980 ms |
419924 KB |
Output is correct |
51 |
Correct |
987 ms |
417500 KB |
Output is correct |
52 |
Correct |
960 ms |
422784 KB |
Output is correct |
53 |
Correct |
1034 ms |
424032 KB |
Output is correct |
54 |
Correct |
259 ms |
192932 KB |
Output is correct |
55 |
Correct |
248 ms |
192932 KB |
Output is correct |
56 |
Correct |
252 ms |
192832 KB |
Output is correct |
57 |
Correct |
283 ms |
192928 KB |
Output is correct |
58 |
Correct |
872 ms |
522172 KB |
Output is correct |
59 |
Correct |
814 ms |
522324 KB |
Output is correct |
60 |
Correct |
760 ms |
522192 KB |
Output is correct |
61 |
Correct |
765 ms |
522340 KB |
Output is correct |
62 |
Correct |
810 ms |
486724 KB |
Output is correct |
63 |
Correct |
758 ms |
486720 KB |
Output is correct |
64 |
Correct |
754 ms |
486760 KB |
Output is correct |
65 |
Correct |
858 ms |
486700 KB |
Output is correct |
66 |
Correct |
1 ms |
1880 KB |
Output is correct |
67 |
Correct |
1 ms |
1880 KB |
Output is correct |
68 |
Correct |
1 ms |
1880 KB |
Output is correct |
69 |
Correct |
1 ms |
1880 KB |
Output is correct |
70 |
Correct |
1 ms |
1880 KB |
Output is correct |
71 |
Correct |
2 ms |
1880 KB |
Output is correct |
72 |
Correct |
3 ms |
2648 KB |
Output is correct |
73 |
Correct |
19 ms |
9816 KB |
Output is correct |
74 |
Correct |
870 ms |
522148 KB |
Output is correct |
75 |
Correct |
849 ms |
522148 KB |
Output is correct |
76 |
Correct |
807 ms |
522296 KB |
Output is correct |
77 |
Correct |
817 ms |
522148 KB |
Output is correct |
78 |
Correct |
648 ms |
251572 KB |
Output is correct |
79 |
Correct |
583 ms |
251572 KB |
Output is correct |
80 |
Correct |
804 ms |
251608 KB |
Output is correct |
81 |
Correct |
766 ms |
251488 KB |
Output is correct |
82 |
Correct |
727 ms |
251572 KB |
Output is correct |
83 |
Correct |
779 ms |
251572 KB |
Output is correct |
84 |
Correct |
1287 ms |
522528 KB |
Output is correct |
85 |
Correct |
1195 ms |
522276 KB |
Output is correct |
86 |
Correct |
1707 ms |
522148 KB |
Output is correct |
87 |
Correct |
1740 ms |
522288 KB |
Output is correct |
88 |
Correct |
1644 ms |
522336 KB |
Output is correct |
89 |
Correct |
1788 ms |
522180 KB |
Output is correct |
90 |
Correct |
1 ms |
1880 KB |
Output is correct |
91 |
Correct |
1 ms |
1880 KB |
Output is correct |
92 |
Correct |
1 ms |
1880 KB |
Output is correct |
93 |
Correct |
1 ms |
1880 KB |
Output is correct |
94 |
Correct |
1 ms |
1880 KB |
Output is correct |
95 |
Correct |
2 ms |
2392 KB |
Output is correct |
96 |
Correct |
23 ms |
9048 KB |
Output is correct |
97 |
Correct |
803 ms |
486940 KB |
Output is correct |
98 |
Correct |
866 ms |
487096 KB |
Output is correct |
99 |
Correct |
833 ms |
486812 KB |
Output is correct |
100 |
Correct |
822 ms |
486868 KB |
Output is correct |
101 |
Correct |
608 ms |
233908 KB |
Output is correct |
102 |
Correct |
720 ms |
233908 KB |
Output is correct |
103 |
Correct |
712 ms |
233756 KB |
Output is correct |
104 |
Correct |
712 ms |
233908 KB |
Output is correct |
105 |
Correct |
743 ms |
233912 KB |
Output is correct |
106 |
Correct |
714 ms |
233876 KB |
Output is correct |
107 |
Correct |
1205 ms |
486724 KB |
Output is correct |
108 |
Correct |
1599 ms |
486752 KB |
Output is correct |
109 |
Correct |
1616 ms |
486792 KB |
Output is correct |
110 |
Correct |
1606 ms |
486860 KB |
Output is correct |
111 |
Correct |
1605 ms |
486752 KB |
Output is correct |
112 |
Correct |
1732 ms |
486876 KB |
Output is correct |
113 |
Correct |
751 ms |
240856 KB |
Output is correct |
114 |
Correct |
736 ms |
240856 KB |
Output is correct |
115 |
Correct |
928 ms |
240820 KB |
Output is correct |
116 |
Correct |
952 ms |
241148 KB |
Output is correct |
117 |
Correct |
942 ms |
241272 KB |
Output is correct |
118 |
Correct |
957 ms |
240820 KB |
Output is correct |
119 |
Correct |
727 ms |
231692 KB |
Output is correct |
120 |
Correct |
761 ms |
231764 KB |
Output is correct |
121 |
Correct |
875 ms |
234932 KB |
Output is correct |
122 |
Correct |
870 ms |
231644 KB |
Output is correct |
123 |
Correct |
805 ms |
222644 KB |
Output is correct |
124 |
Correct |
802 ms |
216248 KB |
Output is correct |
125 |
Correct |
826 ms |
237940 KB |
Output is correct |
126 |
Correct |
873 ms |
238028 KB |
Output is correct |
127 |
Correct |
924 ms |
238008 KB |
Output is correct |
128 |
Correct |
944 ms |
237912 KB |
Output is correct |
129 |
Correct |
934 ms |
238004 KB |
Output is correct |
130 |
Correct |
927 ms |
238260 KB |
Output is correct |
131 |
Correct |
824 ms |
250844 KB |
Output is correct |
132 |
Correct |
773 ms |
250844 KB |
Output is correct |
133 |
Correct |
983 ms |
250804 KB |
Output is correct |
134 |
Correct |
706 ms |
205192 KB |
Output is correct |
135 |
Correct |
784 ms |
206292 KB |
Output is correct |
136 |
Correct |
782 ms |
205236 KB |
Output is correct |
137 |
Correct |
787 ms |
204512 KB |
Output is correct |
138 |
Correct |
851 ms |
207028 KB |
Output is correct |
139 |
Correct |
781 ms |
205236 KB |
Output is correct |
140 |
Correct |
278 ms |
97460 KB |
Output is correct |
141 |
Correct |
292 ms |
97460 KB |
Output is correct |
142 |
Correct |
277 ms |
97360 KB |
Output is correct |
143 |
Correct |
307 ms |
97460 KB |
Output is correct |
144 |
Correct |
271 ms |
97460 KB |
Output is correct |
145 |
Correct |
615 ms |
251572 KB |
Output is correct |
146 |
Correct |
562 ms |
251608 KB |
Output is correct |
147 |
Correct |
798 ms |
251544 KB |
Output is correct |
148 |
Correct |
802 ms |
251612 KB |
Output is correct |
149 |
Correct |
765 ms |
251604 KB |
Output is correct |
150 |
Correct |
843 ms |
251616 KB |
Output is correct |
151 |
Correct |
591 ms |
233876 KB |
Output is correct |
152 |
Correct |
699 ms |
233908 KB |
Output is correct |
153 |
Correct |
761 ms |
233908 KB |
Output is correct |
154 |
Correct |
730 ms |
233912 KB |
Output is correct |
155 |
Correct |
735 ms |
233872 KB |
Output is correct |
156 |
Correct |
733 ms |
233684 KB |
Output is correct |
157 |
Correct |
1623 ms |
500900 KB |
Output is correct |
158 |
Correct |
1589 ms |
501392 KB |
Output is correct |
159 |
Correct |
2047 ms |
501076 KB |
Output is correct |
160 |
Correct |
2168 ms |
500928 KB |
Output is correct |
161 |
Correct |
2021 ms |
501668 KB |
Output is correct |
162 |
Correct |
2071 ms |
501424 KB |
Output is correct |
163 |
Correct |
1694 ms |
482332 KB |
Output is correct |
164 |
Correct |
1538 ms |
482644 KB |
Output is correct |
165 |
Correct |
1929 ms |
489124 KB |
Output is correct |
166 |
Correct |
1982 ms |
482656 KB |
Output is correct |
167 |
Correct |
1881 ms |
462756 KB |
Output is correct |
168 |
Correct |
1811 ms |
446108 KB |
Output is correct |
169 |
Correct |
1668 ms |
495152 KB |
Output is correct |
170 |
Correct |
1971 ms |
495100 KB |
Output is correct |
171 |
Correct |
2050 ms |
495084 KB |
Output is correct |
172 |
Correct |
2033 ms |
494920 KB |
Output is correct |
173 |
Correct |
1988 ms |
495196 KB |
Output is correct |
174 |
Correct |
2061 ms |
495192 KB |
Output is correct |
175 |
Correct |
1733 ms |
521004 KB |
Output is correct |
176 |
Correct |
1755 ms |
520752 KB |
Output is correct |
177 |
Correct |
2270 ms |
521816 KB |
Output is correct |
178 |
Correct |
1505 ms |
422120 KB |
Output is correct |
179 |
Correct |
1707 ms |
420856 KB |
Output is correct |
180 |
Correct |
1772 ms |
432320 KB |
Output is correct |
181 |
Correct |
1788 ms |
418616 KB |
Output is correct |
182 |
Correct |
1724 ms |
422724 KB |
Output is correct |
183 |
Correct |
1742 ms |
417956 KB |
Output is correct |
184 |
Correct |
550 ms |
192956 KB |
Output is correct |
185 |
Correct |
634 ms |
192872 KB |
Output is correct |
186 |
Correct |
586 ms |
192816 KB |
Output is correct |
187 |
Correct |
621 ms |
193044 KB |
Output is correct |
188 |
Correct |
614 ms |
192940 KB |
Output is correct |