Submission #1366069
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
//#define FILE_IO
const double eps = 1e-6;
int N, L, T;
int p[100005], d[100005], f[100005], r[100005], aux[100005];
int getIntersections(int x, int y)
{
if(x > y) y += L;
if(2 * T <= y - x) return 0;
int t = 2 * T - (y - x);
int cnt = t / L + 1;
if(t % L == 0) cnt--;
return cnt;
}
int main()
{
#ifdef FILE_IO
freopen("1.in", "r", stdin);
freopen("1.out", "w", stdout);
#endif
scanf("%d%d%d", &N, &L, &T);
for(int i = 0; i < N; i++)
{
scanf("%d%d", &p[i], &d[i]);
if(d[i] == 2) d[i] = -1;
}
int add = T % L;
for(int i = 0; i < N; i++)
{
if(d[i] == 1) f[i] = (p[i] + add) % L;
else f[i] = (p[i] - add + L) % L;
}
sort(f, f + N);
int pos0 = p[0];
if(d[0] == 1) pos0 = (p[0] + add) % L;
else pos0 = (p[0] - add + L) % L;
for(int i = 0; i < N; i++) aux[i] = f[i];
for(int i = 0; i < N; i++)
if(pos0 == f[i])
{
for(int j = 0; j < N; j++)
f[j] = aux[(j + i) % N];
}
int id = 0;
for(int i = 1; i < N; i++)
if(d[i] != d[0])
{
double timp = 0.0;
int cnt = getIntersections(p[0], p[i]);
if(d[0] == 1) (id += cnt) %= N;
else (id += N - (cnt % N) ) %= N;
}
for(int i = 0; i < N; i++)
r[(id + i) % N] = f[i];
for(int i = 0; i < N; i++)
printf("%d\n", r[i]);
return 0;
}
Submission Info
Submission Time |
|
Task |
C - Ants on a Circle |
User |
bogdan10bos |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
1588 Byte |
Status |
WA |
Exec Time |
34 ms |
Memory |
3200 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:28:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d", &N, &L, &T);
^
./Main.cpp:31:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &p[i], &d[i]);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
0 / 700 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample_01.txt, sample_02.txt |
All |
sample_01.txt, sample_02.txt, sample_01.txt, sample_02.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt |
Case Name |
Status |
Exec Time |
Memory |
sample_01.txt |
AC |
1 ms |
256 KB |
sample_02.txt |
AC |
1 ms |
256 KB |
subtask_1_01.txt |
WA |
21 ms |
2048 KB |
subtask_1_02.txt |
AC |
17 ms |
1664 KB |
subtask_1_03.txt |
AC |
33 ms |
3200 KB |
subtask_1_04.txt |
AC |
34 ms |
3200 KB |
subtask_1_05.txt |
WA |
6 ms |
640 KB |
subtask_1_06.txt |
AC |
8 ms |
896 KB |
subtask_1_07.txt |
AC |
31 ms |
2816 KB |
subtask_1_08.txt |
AC |
32 ms |
2816 KB |
subtask_1_09.txt |
WA |
21 ms |
1920 KB |
subtask_1_10.txt |
WA |
18 ms |
1664 KB |
subtask_1_11.txt |
AC |
5 ms |
640 KB |
subtask_1_12.txt |
AC |
28 ms |
2816 KB |
subtask_1_13.txt |
AC |
21 ms |
2176 KB |
subtask_1_14.txt |
AC |
21 ms |
2048 KB |
subtask_1_15.txt |
AC |
1 ms |
256 KB |
subtask_1_16.txt |
AC |
1 ms |
256 KB |