Submission #3040686


Source Code Expand

#!/usr/bin/env python

from collections import deque
import itertools as it
import sys
import math

sys.setrecursionlimit(10000000)

N, L, T = map(int, raw_input().split())
T %= L

X1 = []
X2 = []
Xs = []
m = {}

for i in range(N):
    X, W = map(int, raw_input().split())
    if W == 1:
        X1.append(X)
    else:
        X2.append(X)
    m[X] = 0
    Xs.append((X, W))
if len(X1) != 0 and len(X2) != 0:
    for loop in range(2):
        pos1 = 0
        pos2 = 0
        bias = 0
        sz = len(X2)
        X2 = [X2[-1] - L] + X2 + [X2[0] + L]
        for x in X1:
            while True:
                if X2[pos1 + 1] + bias - x <= 2 * T:
                    pos1 += 1
                else:
                    break
                if pos1 > sz:
                    bias += L
                    pos1 = 1
            while True:
                if X2[pos2 + 1] < x:
                    pos2 += 1
                else:
                    break
            #print x, pos1, pos2, bias
            if loop == 0:
                m[x] = pos1 - pos2 + bias / L * sz
            else:
                m[(L - x) * (x != 0)] = pos1 - pos2 + bias / L * sz
        X2 = X2[1:-1]
        for i in range(len(X1)):
            X1[i] = (L - X1[i]) * (X1[i] != 0)
        for i in range(len(X2)):
            X2[i] = (L - X2[i]) * (X2[i] != 0)
        X1, X2 = sorted(X2), sorted(X1)

ans = [0] * N
for i in range(N):
    X, W = Xs[i]
    if W == 1:
        ans[(i + m[X]) % N] = (X + T) % L
    else:
        ans[(i - m[X]) % N] = (X - T) % L

for i in range(N):
    print ans[i]

Submission Info

Submission Time
Task C - Ants on a Circle
User monolith
Language Python (2.7.6)
Score 0
Code Size 1645 Byte
Status WA
Exec Time 590 ms
Memory 32156 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 700
Status
AC × 2
AC × 11
WA × 9
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 12 ms 2820 KB
sample_02.txt AC 11 ms 2820 KB
subtask_1_01.txt AC 359 ms 19924 KB
subtask_1_02.txt WA 268 ms 17196 KB
subtask_1_03.txt WA 590 ms 32156 KB
subtask_1_04.txt WA 574 ms 32156 KB
subtask_1_05.txt WA 98 ms 7220 KB
subtask_1_06.txt WA 137 ms 11252 KB
subtask_1_07.txt WA 561 ms 31772 KB
subtask_1_08.txt WA 528 ms 31772 KB
subtask_1_09.txt WA 363 ms 20784 KB
subtask_1_10.txt WA 313 ms 18804 KB
subtask_1_11.txt AC 60 ms 5940 KB
subtask_1_12.txt AC 355 ms 25392 KB
subtask_1_13.txt AC 352 ms 19504 KB
subtask_1_14.txt AC 328 ms 18392 KB
subtask_1_15.txt AC 12 ms 2820 KB
subtask_1_16.txt AC 11 ms 2820 KB