# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
28135 | 2017-07-15T12:05:06 Z | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(#1199, suhgyuho_william) | The Ant and The Bitcoin (FXCUP2_ant) | C++14 | 56 ms | 5928 KB |
#include <bits/stdc++.h> #include <unistd.h> #define pii pair<int,int> #define pll pair<lld,lld> #define pb push_back #define lld long long using namespace std; lld N,where; lld L,T; struct data{ lld x; lld num; char s[3]; }a[100002]; lld memo[100002],tmp[100002]; lld change(lld value,char op){ lld i=0; a[i].x = value; if(op == 'L'){ if(T <= a[i].x) a[i].x -= T; else if(T <= a[i].x+L) a[i].x = T-a[i].x; else a[i].x = a[i].x+L*2-T; }else{ if(T <= L-a[i].x) a[i].x += T; else if(T <= L*2-a[i].x) a[i].x = -a[i].x + L*2 - T; else a[i].x = T-(L*2-a[i].x); } return a[i].x; } int main(){ scanf("%lld %lld %lld",&N,&L,&T); T %= (L*2); for(lld i=1; i<=N; i++){ scanf("%lld %s",&a[i].x,&a[i].s); a[i].num = i; } sort(a+1,a+N+1,[&](data &x,data &y){ return x.x < y.x; }); scanf("%lld",&where); for(lld i=1; i<=N; i++){ if(a[i].num == where){ where = i; break; } } for(lld i=1; i<=N; i++){ memo[i] = a[i].num; a[i].num = i; a[i].x = change(a[i].x,a[i].s[0]); //printf("%lld %lld\n",a[i].x,memo[i]); } sort(a+1,a+N+1,[&](data &x,data &y){ return x.x < y.x; }); for(lld i=1; i<=N; i++){ if(a[i].num == where){ where = i; break; } } //printf("%lld\n",where); for(lld i=1; i<=N; i++) tmp[memo[i]] = i; where = memo[where]; printf("%lld\n",where); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 5928 KB | Output is correct |
2 | Correct | 0 ms | 5928 KB | Output is correct |
3 | Correct | 0 ms | 5928 KB | Output is correct |
4 | Correct | 0 ms | 5928 KB | Output is correct |
5 | Correct | 0 ms | 5928 KB | Output is correct |
6 | Correct | 0 ms | 5928 KB | Output is correct |
7 | Correct | 0 ms | 5928 KB | Output is correct |
8 | Correct | 0 ms | 5928 KB | Output is correct |
9 | Correct | 0 ms | 5928 KB | Output is correct |
10 | Correct | 0 ms | 5928 KB | Output is correct |
11 | Correct | 0 ms | 5928 KB | Output is correct |
12 | Correct | 0 ms | 5928 KB | Output is correct |
13 | Correct | 39 ms | 5928 KB | Output is correct |
14 | Correct | 46 ms | 5928 KB | Output is correct |
15 | Correct | 23 ms | 5928 KB | Output is correct |
16 | Correct | 46 ms | 5928 KB | Output is correct |
17 | Correct | 39 ms | 5928 KB | Output is correct |
18 | Correct | 39 ms | 5928 KB | Output is correct |
19 | Correct | 39 ms | 5928 KB | Output is correct |
20 | Correct | 56 ms | 5928 KB | Output is correct |