Submission #1241203


Source Code Expand


import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int ant_count = sc.nextInt();
		int circle_length = sc.nextInt();
		int time = sc.nextInt();
		int[] ant_positions = new int[ant_count];
		int[] ant_directions = new int[ant_count];

		for(int i = 0;i < ant_count;i++){
			ant_positions[i] = sc.nextInt();
			ant_directions[i] = sc.nextInt();
		}

		float t = time % circle_length;
		int cross_count = 0;
		int ant0_pos = ant_positions[0];
		int ant0_dir = ant_directions[0];
		int r_dir_count = 0;

		if(ant0_dir == 1){
			for(int i = 1;i < ant_count;i++){
				if(ant0_dir == ant_directions[i])continue;

				r_dir_count++;

				if(t <= 0.0f)continue;

				float len;
				len = ant_positions[i] - ant0_pos;

				float half = len / 2.0f;
				if(half <= t){
					cross_count++;
				}else{
					t = 0.0f;
				}
			}
		}else{
			for(int i = ant_count - 1;0 < i;i--){
				if(ant0_dir == ant_directions[i])continue;

				r_dir_count++;

				if(t <= 0.0f)continue;

				float len;
				len = ant0_pos + (circle_length - ant_positions[i]);

				float half = len / 2.0f;
				if(half <= t){
					cross_count++;
				}else{
					t = 0.0f;
				}
			}
		}

		for(int i = 0;i < ant_count;i++){
			if(ant_directions[i] == 1){
				ant_positions[i] += time;
			}else{
				ant_positions[i] -= time;
			}
			ant_positions[i] %= circle_length;
			if(ant_positions[i] < 0)
				ant_positions[i] += circle_length;
		}

		int ant0_id = ant0_dir == 1 ? cross_count : ant_count - cross_count;

		for(int i = 0;i < ant_positions.length;i++){
			int id = i - ant0_id;
			if(id < 0)id += ant_count;
			if(ant_count <= id)id -= ant_count;
			System.out.println(ant_positions[id]);
		}

		sc.close();
	}
}

Submission Info

Submission Time
Task C - Ants on a Circle
User aetenotanaka
Language Java8 (OpenJDK 1.8.0)
Score 0
Code Size 1842 Byte
Status WA
Exec Time 1104 ms
Memory 71416 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 700
Status
AC × 2
AC × 8
WA × 12
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 89 ms 21076 KB
sample_02.txt AC 91 ms 19796 KB
subtask_1_01.txt WA 946 ms 69912 KB
subtask_1_02.txt WA 768 ms 49012 KB
subtask_1_03.txt WA 1066 ms 62800 KB
subtask_1_04.txt WA 1104 ms 67064 KB
subtask_1_05.txt WA 411 ms 41380 KB
subtask_1_06.txt WA 537 ms 43884 KB
subtask_1_07.txt WA 1022 ms 62104 KB
subtask_1_08.txt WA 989 ms 66132 KB
subtask_1_09.txt WA 857 ms 59208 KB
subtask_1_10.txt WA 776 ms 58656 KB
subtask_1_11.txt AC 424 ms 40672 KB
subtask_1_12.txt AC 936 ms 64092 KB
subtask_1_13.txt WA 954 ms 71416 KB
subtask_1_14.txt WA 815 ms 61352 KB
subtask_1_15.txt AC 92 ms 23636 KB
subtask_1_16.txt AC 92 ms 21332 KB