Submission #1225978


Source Code Expand

#include<iostream>
#include<vector>
#include<queue>
#include<functional>
using namespace std;
int n, l, t, a[100000], s[100000], g[100000];
int main() {
	priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>>Q;
	cin >> n >> l >> t; l *= 2; t *= 2;
	for (int i = 0; i < n; i++) { cin >> a[i] >> s[i]; a[i] *= 2; if (s[i] == 1)s[i] = 1; else s[i] = -1; }
	for (int i = 0; i < n; i++) {
		if (s[i] == 1 && s[(i + 1) % n] == -1) { Q.push(make_pair(((a[(i + 1) % n] - a[i] + l) % l) / 2, i)); }
	}
	int D = t % (2 * l);
	while (!Q.empty()) {
		int a1 = Q.top().first, a2 = Q.top().second; Q.pop();
		a[(a2 + 0 + n) % n] += (a1 - g[(a2 + 0 + n) % n])*s[(a2 + 0 + n) % n];
		a[(a2 + 0 + n) % n] = (a[(a2 + 0 + n) % n] + l) % l;
		a[(a2 + 1 + n) % n] += (a1 - g[(a2 + 1 + n) % n])*s[(a2 + 1 + n) % n];
		a[(a2 + 1 + n) % n] = (a[(a2 + 1 + n) % n] + l) % l;
		s[a2] = -1; s[(a2 + 1) % n] = 1;
		g[a2] = a1; g[(a2 + 1) % n] = a1;
		if (n >= 3) {
			a[(a2 - 1 + n) % n] += (a1 - g[(a2 - 1 + n) % n])*s[(a2 - 1 + n) % n];
			a[(a2 - 1 + n) % n] = (a[(a2 - 1 + n) % n] + l) % l;
			g[(a2 - 1 + n) % n] = a1;
			if (s[(a2 - 1 + n) % n] == 1 && s[a2] == -1) {
				int F = a1 + ((a[a2] - a[(a2 - 1 + n) % n] + l) % l) / 2;
				if (F <= D) { Q.push(make_pair(F, (a2 - 1 + n) % n)); }
			}
		}
		if (n >= 4) {
			a[(a2 + 2 + n) % n] += (a1 - g[(a2 + 2 + n) % n])*s[(a2 + 2 + n) % n];
			a[(a2 + 2 + n) % n] = (a[(a2 + 2 + n) % n] + l) % l;
			g[(a2 + 2 + n) % n] = a1;
			if (s[(a2 + 2 + n) % n] == -1 && s[(a2 + 1 + n) % n] == 1) {
				int F = a1 + ((a[(a2 + 2 + n) % n] - a[(a2 + 1 + n) % n] + l) % l) / 2;
				if (F <= D) { Q.push(make_pair(F, (a2 + 1) % n)); }
			}
		}
	}
	for (int i = 0; i < n; i++) {
		a[i] += (D - g[i])*s[i];
		a[i] = (a[i] + l) % l;
	}
	for (int i = 0; i < n; i++)cout << a[i] / 2 << endl;
	return 0;
}

Submission Info

Submission Time
Task C - Ants on a Circle
User E869120
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1883 Byte
Status WA
Exec Time 2103 ms
Memory 1920 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 700
Status
AC × 2
AC × 7
WA × 3
TLE × 10
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 TLE 2103 ms 1152 KB
subtask_1_02.txt TLE 2103 ms 1024 KB
subtask_1_03.txt TLE 2103 ms 1788 KB
subtask_1_04.txt TLE 2103 ms 1788 KB
subtask_1_05.txt TLE 2103 ms 512 KB
subtask_1_06.txt TLE 2103 ms 640 KB
subtask_1_07.txt TLE 2103 ms 1788 KB
subtask_1_08.txt TLE 2103 ms 1788 KB
subtask_1_09.txt TLE 2103 ms 1276 KB
subtask_1_10.txt TLE 2103 ms 1280 KB
subtask_1_11.txt WA 29 ms 512 KB
subtask_1_12.txt AC 187 ms 1792 KB
subtask_1_13.txt WA 140 ms 1920 KB
subtask_1_14.txt WA 128 ms 1792 KB
subtask_1_15.txt AC 1 ms 256 KB
subtask_1_16.txt AC 1 ms 256 KB