Submission #1801429
Source Code Expand
#include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<(int)(n);i++) #define rep1(i,n) for(int i=1;i<=(int)(n);i++) #define all(c) c.begin(),c.end() #define pb push_back #define fs first #define sc second #define show(x) cout << #x << " = " << x << endl #define chmin(x,y) x=min(x,y) #define chmax(x,y) x=max(x,y) using namespace std; template<class S,class T> ostream& operator<<(ostream& o,const pair<S,T> &p){return o<<"("<<p.fs<<","<<p.sc<<")";} template<class T> ostream& operator<<(ostream& o,const vector<T> &vc){o<<"sz = "<<vc.size()<<endl<<"[";for(const T& v:vc) o<<v<<",";o<<"]";return o;} typedef long long ll; struct UnionFind{ vector<int> par,rank,mx; UnionFind(int N){ par.assign(N,0); rank.assign(N,0); mx.assign(N,0); rep(i,N) par[i]=i,mx[i]=i; } int find(int x){ if(par[x]==x) return x; return par[x]=find(par[x]); } bool same(int x,int y){ return find(x)==find(y); } void unite(int x,int y){ x=find(x),y=find(y); if(x==y) return; if(rank[x]<rank[y]){ par[x]=y; chmax(mx[y],mx[x]); }else{ par[y]=x; chmax(mx[x],mx[y]); if(rank[x]==rank[y]) rank[x]++; } } }; int N,Q; ll p[200010]; int main(){ cin>>N; rep(i,N-1) cin>>p[i]; UnionFind UF(2100000); vector<int> v(2100000); rep(i,2100000) v[i] = i; int s = 0; for(int i=N-2;i>=2;i--){ rep(j,p[i]+1) UF.unite(v[s+p[i]+j],v[s+p[i]-j]); s += p[i]; } cin>>Q; rep(i,Q){ // cin>>p[N-1]; // ll x = p[N-1]; // for(int i=N-2;i>=2;i--){ // x -= p[i]; // x = abs(x); // } // ll ans = x + p[0] - p[1]; // cout<<ans<<endl; ll a; cin>>a; if(a>=2100000){ cout<<a-s+p[0]-p[1]<<endl; continue; }else{ cout<<UF.mx[UF.find(a)] - s + p[0]-p[1]<<endl; } } }
Submission Info
Submission Time | |
---|---|
Task | H - Tokaido |
User | sigma425 |
Language | C++14 (GCC 5.4.1) |
Score | 1600 |
Code Size | 1788 Byte |
Status | AC |
Exec Time | 469 ms |
Memory | 36608 KB |
Judge Result
Set Name | sample | dataset1 | dataset2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | 900 / 900 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
sample | sample-01.txt, sample-02.txt |
dataset1 | sample-01.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt |
dataset2 | sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, sample-01.txt, sample-02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 60 ms | 34560 KB |
01-02.txt | AC | 16 ms | 33024 KB |
01-03.txt | AC | 23 ms | 33024 KB |
01-04.txt | AC | 43 ms | 33792 KB |
01-05.txt | AC | 61 ms | 34560 KB |
01-06.txt | AC | 60 ms | 34560 KB |
01-07.txt | AC | 36 ms | 33536 KB |
01-08.txt | AC | 61 ms | 34560 KB |
01-09.txt | AC | 61 ms | 34560 KB |
01-10.txt | AC | 23 ms | 33024 KB |
01-11.txt | AC | 29 ms | 33408 KB |
01-12.txt | AC | 56 ms | 34560 KB |
01-13.txt | AC | 57 ms | 34560 KB |
01-14.txt | AC | 57 ms | 34560 KB |
01-15.txt | AC | 57 ms | 34560 KB |
01-16.txt | AC | 55 ms | 34560 KB |
01-17.txt | AC | 48 ms | 34560 KB |
01-18.txt | AC | 48 ms | 34560 KB |
01-19.txt | AC | 48 ms | 34560 KB |
02-01.txt | AC | 79 ms | 33536 KB |
02-02.txt | AC | 462 ms | 36608 KB |
02-03.txt | AC | 460 ms | 35072 KB |
02-04.txt | AC | 445 ms | 34944 KB |
02-05.txt | AC | 409 ms | 33792 KB |
02-06.txt | AC | 457 ms | 35072 KB |
02-07.txt | AC | 469 ms | 35200 KB |
02-08.txt | AC | 436 ms | 34432 KB |
02-09.txt | AC | 415 ms | 34304 KB |
02-10.txt | AC | 444 ms | 35072 KB |
02-11.txt | AC | 449 ms | 35968 KB |
02-12.txt | AC | 462 ms | 35840 KB |
02-13.txt | AC | 451 ms | 35840 KB |
02-14.txt | AC | 462 ms | 35968 KB |
02-15.txt | AC | 456 ms | 36224 KB |
02-16.txt | AC | 447 ms | 36224 KB |
sample-01.txt | AC | 16 ms | 33024 KB |
sample-02.txt | AC | 16 ms | 33024 KB |