Submission #2241927


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;

vector<ll> solve(int N, ll L, ll T, const vector<ll>& X, const vector<ll>& W) {
  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;
  }
  int k = -1;
  for (int i = 0; i < N; i++) {
    if (W[i] == 1) {
      k = i;
      break;
    }
  }
  if (k == -1) {
    return pos;
  }
  ll cross_k = 0;
  for (int i = 0; i < N; i++) {
    if (W[i] == 2) {
      ll d = X[i] - X[0];
      if (d < 2 * T) {
        cross_k += (2 * T - d + L - 1) / L;
      }
    }
  }
  int label_k = cross_k % N;
  ll pos_k = pos[k];
  sort(pos.begin(), pos.end());
  int off = find(pos.begin(), pos.end(), pos_k) - pos.begin();
  vector<ll> ans(N);
  for (int i = 0; i < N; i++) {
    int j = (off + i) % N;
    int label = (label_k + i) % N;
    ans[label] = pos[j];
  }
  return ans;
}

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];
    }
    auto ans = solve(N, L, T, X, W);
    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 0
Code Size 1390 Byte
Status WA
Exec Time 216 ms
Memory 3568 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 700
Status
AC × 2
AC × 16
WA × 4
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 134 ms 2212 KB
subtask_1_02.txt AC 105 ms 1792 KB
subtask_1_03.txt AC 213 ms 3568 KB
subtask_1_04.txt AC 216 ms 3568 KB
subtask_1_05.txt WA 33 ms 896 KB
subtask_1_06.txt AC 48 ms 1024 KB
subtask_1_07.txt AC 201 ms 3328 KB
subtask_1_08.txt AC 203 ms 3328 KB
subtask_1_09.txt AC 133 ms 2304 KB
subtask_1_10.txt WA 115 ms 2048 KB
subtask_1_11.txt AC 30 ms 768 KB
subtask_1_12.txt AC 186 ms 3200 KB
subtask_1_13.txt WA 139 ms 2432 KB
subtask_1_14.txt AC 126 ms 2216 KB
subtask_1_15.txt AC 1 ms 256 KB
subtask_1_16.txt AC 1 ms 256 KB