Submission #1689563
Source Code Expand
#include<bits/stdc++.h> #define N 300005 #define int long long using namespace std; int n,l,t; int x[N],w[N]; int v[N]; signed main() { scanf("%lld%lld%lld",&n,&l,&t); l*=2;t*=2; for(int i=1;i<=n;i++) { scanf("%lld%lld",&x[i],&w[i]); x[i]*=2; if(w[i]==2)w[i]=-1; v[i]=((x[i]+1LL*w[i]*t%l)%l+l)%l; }int kk=v[1]; sort(v+1,v+n+1); for(int i=n+1;i<=3*n;i++)v[i]=v[i-n]; int cnt=0; for(int i=1;i<=n;i++) { if(w[i]!=w[1]) { int rst=t; int dis; if(w[1]==1)dis=x[i]-x[1]; else dis=x[1]+(l-x[i]); if(rst>=dis/2) { rst-=dis/2;cnt++; if(rst)cnt+=(rst-1)/(l/2); } } } cnt%=n; int now=1; if(w[1]==-1) { for(int i=1;i<=cnt;i++) { now--; if(!now)now=n; } } else { for(int i=1;i<=cnt;i++) { now++; if(now==n+1)now=1; } } int pos=0; if(w[i]==1) { for(int i=1;i<=n;i++) { if(v[i]==kk) { pos=i;break; } } } else { for(int i=n;i>=1;i--) { if(v[i]==kk) { pos=i;break; } } } for(int i=1;i<=n;i++) { printf("%lld\n",v[n+i-now+1+pos-1]/2); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Ants on a Circle |
User | SD_le |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1569 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:60:10: error: ‘i’ was not declared in this scope if(w[i]==1) ^ ./Main.cpp:11:35: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%lld%lld%lld",&n,&l,&t); ^ ./Main.cpp:15:38: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%lld%lld",&x[i],&w[i]); ^