Submission #5991291
Source Code Expand
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int MOD=1e9+7; const int INF=1e9; int t[400000],m; void init(int n){ m=1; while(m<n)m*=2; for(int i=0;i<2*m-1;i++)t[i]=-1; } void update(int k,int a){ k+=m-1; t[k]=a; while(k>0){ k=(k-1)/2; t[k]=min(t[2*k+1],t[2*k+2]); } } int query(int a,int b,int k,int l,int r){ if(b<=l||r<=a)return INF; if(a<=l&&r<=b)return t[k]; return min(query(a,b,2*k+1,l,(l+r)/2),query(a,b,2*k+2,(l+r)/2,r)); } int main(){ int n; cin>>n; int c[n],a[n]; c[0]=a[0]=0; for(int i=1;i<n;i++){ cin>>c[i]>>a[i]; } init(n); int grundy[n]; for(int i=0;i<n;i++){ if(t[m-1]<i-c[i]){ grundy[i]=0; } else{ int ok=0,ng=n; while(abs(ok-ng)>1){ int mid=(ok+ng)/2; if(i-c[i]<=query(0,mid+1,0,0,m)){ ok=mid; }else{ ng=mid; } } grundy[i]=ng; } update(grundy[i],i); } int ans=0; for(int i=1;i<n;i++){ if(a[i]&1){ ans^=grundy[i]; } } if(ans){ cout<<"First"<<endl; }else{ cout<<"Second"<<endl; } }
Submission Info
Submission Time | |
---|---|
Task | C - 茶碗と豆 |
User | koikuchi |
Language | C++14 (GCC 5.4.1) |
Score | 104 |
Code Size | 1375 Byte |
Status | AC |
Exec Time | 306 ms |
Memory | 2432 KB |
Judge Result
Set Name | Sample | Dataset1 | Dataset2 | Dataset3 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 80 / 80 | 20 / 20 | 4 / 4 | ||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample-01.txt, sample-02.txt, sample-03.txt |
Dataset1 | sample-01.txt, sample-02.txt, sample-03.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 |
Dataset2 | sample-01.txt, sample-02.txt, sample-03.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, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt |
Dataset3 | 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, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, sample-01.txt, sample-02.txt, sample-03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 1 ms | 256 KB |
01-02.txt | AC | 1 ms | 256 KB |
01-03.txt | AC | 1 ms | 256 KB |
01-04.txt | AC | 1 ms | 256 KB |
01-05.txt | AC | 1 ms | 256 KB |
01-06.txt | AC | 1 ms | 256 KB |
01-07.txt | AC | 1 ms | 256 KB |
01-08.txt | AC | 1 ms | 256 KB |
01-09.txt | AC | 1 ms | 256 KB |
01-10.txt | AC | 1 ms | 256 KB |
02-01.txt | AC | 1 ms | 256 KB |
02-02.txt | AC | 1 ms | 256 KB |
02-03.txt | AC | 1 ms | 256 KB |
02-04.txt | AC | 1 ms | 256 KB |
02-05.txt | AC | 1 ms | 256 KB |
02-06.txt | AC | 1 ms | 256 KB |
02-07.txt | AC | 1 ms | 256 KB |
02-08.txt | AC | 1 ms | 256 KB |
03-01.txt | AC | 296 ms | 2432 KB |
03-02.txt | AC | 306 ms | 2432 KB |
03-03.txt | AC | 296 ms | 2432 KB |
03-04.txt | AC | 306 ms | 2432 KB |
03-05.txt | AC | 302 ms | 2432 KB |
03-06.txt | AC | 302 ms | 2432 KB |
03-07.txt | AC | 139 ms | 2432 KB |
03-08.txt | AC | 139 ms | 2432 KB |
sample-01.txt | AC | 1 ms | 256 KB |
sample-02.txt | AC | 1 ms | 256 KB |
sample-03.txt | AC | 1 ms | 256 KB |