Submission #2241931
Source Code Expand
#include <algorithm> #include <cstring> #include <deque> #include <functional> #include <iostream> #include <map> #include <numeric> #include <queue> #include <set> #include <vector> using namespace std; using ll = long long; int main() { int N; ll L, T; while (cin >> N >> L >> T) { vector<ll> X(N), W(N); for (int i = 0; i < N; i++) { cin >> X[i] >> W[i]; } ll cross0 = 0; for (int i = 1; i < N; i++) { if (W[0] != W[i]) { ll d = W[0] == 1 ? X[i] - X[0] : L - (X[i] - X[0]); if (d <= 2 * T) { ll rem = 2 * T - d; ll tmp = rem / L + 1; if (W[0] == 1 && rem % L == 0) { --tmp; } cross0 += tmp; } } } int label0 = W[0] == 1 ? cross0 % N : (N - cross0 % N) % N; vector<ll> pos(N); for (int i = 0; i < N; i++) { pos[i] = W[i] == 1 ? (X[i] + T) % L : (X[i] - T % L + L) % L; } ll pos0 = pos[0]; sort(pos.begin(), pos.end()); int off = find(pos.begin(), pos.end(), pos0) - pos.begin(); vector<ll> ans(N); for (int i = 0; i < N; i++) { int j = (off + i) % N; int label = (label0 + i) % N; ans[label] = pos[j]; } for (ll x : ans) { cout << x << endl; } } return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Ants on a Circle |
User | kroton |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1332 Byte |
Status | AC |
Exec Time | 215 ms |
Memory | 4352 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 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 | AC | 129 ms | 2688 KB |
subtask_1_02.txt | AC | 106 ms | 2176 KB |
subtask_1_03.txt | AC | 215 ms | 4352 KB |
subtask_1_04.txt | AC | 212 ms | 4352 KB |
subtask_1_05.txt | AC | 34 ms | 896 KB |
subtask_1_06.txt | AC | 49 ms | 1152 KB |
subtask_1_07.txt | AC | 206 ms | 3968 KB |
subtask_1_08.txt | AC | 208 ms | 3968 KB |
subtask_1_09.txt | AC | 136 ms | 2688 KB |
subtask_1_10.txt | AC | 116 ms | 2304 KB |
subtask_1_11.txt | AC | 29 ms | 768 KB |
subtask_1_12.txt | AC | 188 ms | 3840 KB |
subtask_1_13.txt | AC | 136 ms | 2944 KB |
subtask_1_14.txt | AC | 129 ms | 2688 KB |
subtask_1_15.txt | AC | 1 ms | 256 KB |
subtask_1_16.txt | AC | 1 ms | 256 KB |