Submission #1303679


Source Code Expand

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;


struct xw {
	int X;
	int W;
};

xw xw_list[100001];


int main(void) {
	int N, L, T;
	cin >> N >> L >> T;
	
	int dir[2] = {0};
	int first = 0;

	vector <int> endpos;
	for (int i= 1; i <= N; i++) {
		cin >> xw_list[i].X >> xw_list[i].W;
		if (xw_list[i].W == 1) {
			dir[0]++;
			endpos.push_back((xw_list[i].X+T)%L);

			if (first == 0) first = i;

		} else {
			dir[1]++;
			long long mv = T%L;
			mv = xw_list[i].X + L - mv;
			mv = mv % L;
			endpos.push_back(mv);
		}
	}

	if (first == 0) {
		for (int i = 0; i < N; i++) {
			cout << endpos.at(i) << endl;
		}
		return 0;
	}

	long long crossed = 0;
	for (int i = 1; i <= N; i++) {
		if (xw_list[first].W != xw_list[i].W) {
			int diff = abs(xw_list[first].X-xw_list[i].X);

			int tim = T;

			if (tim > 0) {
				crossed += 2*(tim/L);
				crossed %= N;
				tim %= L;
			}

			if (diff==0 || tim==0) continue;

			if (diff+L<=(tim*2)) crossed += 2;
			else if (diff<=tim*2) crossed += 1;
			crossed %= N;
		}
	}

	int changed_no;
	changed_no = crossed + first-1;
	int val = endpos.at(first-1);
	sort(endpos.begin(), endpos.end());

	int vecpos;
	for (vecpos = N-1; vecpos >= 0; vecpos--) {
		if (endpos.at(vecpos) == val) {
			break;
		}
	}

	for (int i = 0; i < N; i++) {
		cout << endpos.at((vecpos+i-changed_no+N)%N) << endl;
	}

	return 0;
}

Submission Info

Submission Time
Task C - Ants on a Circle
User gmanipulator
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1467 Byte
Status WA
Exec Time 220 ms
Memory 2552 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 135 ms 1660 KB
subtask_1_02.txt AC 107 ms 1276 KB
subtask_1_03.txt AC 218 ms 2552 KB
subtask_1_04.txt AC 220 ms 2424 KB
subtask_1_05.txt WA 34 ms 640 KB
subtask_1_06.txt AC 50 ms 768 KB
subtask_1_07.txt AC 208 ms 2168 KB
subtask_1_08.txt AC 210 ms 2168 KB
subtask_1_09.txt WA 137 ms 1532 KB
subtask_1_10.txt WA 118 ms 1404 KB
subtask_1_11.txt AC 31 ms 640 KB
subtask_1_12.txt AC 190 ms 2296 KB
subtask_1_13.txt AC 142 ms 1788 KB
subtask_1_14.txt AC 131 ms 1660 KB
subtask_1_15.txt AC 1 ms 256 KB
subtask_1_16.txt AC 1 ms 256 KB