Submission #1093581


Source Code Expand

import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
	public static void main(String[] args) {
		InputStream inputStream = System.in;
		OutputStream outputStream = System.out;
		FastScanner in = new FastScanner(inputStream);
		PrintWriter out = new PrintWriter(outputStream);
		TaskB solver = new TaskB();
		solver.solve(1, in, out);
		out.close();
	}

	static class TaskB {
		public void solve(int testNumber, FastScanner in, PrintWriter out) {
			int n = in.nextInt();
			int[] a = new int[n];
			long s = 0;
			for (int i = 0; i < n; i++) {
				a[i] = in.nextInt();
				s += a[i];
			}
			long s1 = n * (long) (n + 1) / 2;
			if (s % s1 != 0) {
				out.println("NO");
				return;
			}
			long m = s / s1;
			long used = 0;
			for (int i = 0; i < n; i++) {
				long x = a[(i + 1) % n] - a[i];
				if ((m - x) % n != 0) {
					out.println("NO");
					return;
				}
				long k = (m - x) / n;
				if (k < 0 || k > m) {
					out.println("NO");
					return;
				}
				used += k;
			}
			if (used != m) {
				out.println("NO");
				return;
			}
			out.println("YES");
		}

	}

	static class FastScanner {
		private BufferedReader in;
		private StringTokenizer st;

		public FastScanner(InputStream stream) {
			in = new BufferedReader(new InputStreamReader(stream));
		}

		public String next() {
			while (st == null || !st.hasMoreTokens()) {
				try {
					String rl = in.readLine();
					if (rl == null) {
						return null;
					}
					st = new StringTokenizer(rl);
				} catch (IOException e) {
					throw new RuntimeException(e);
				}
			}
			return st.nextToken();
		}

		public int nextInt() {
			return Integer.parseInt(next());
		}

	}
}

Submission Info

Submission Time
Task B - Boxes
User fetetriste
Language Java8 (OpenJDK 1.8.0)
Score 500
Code Size 2047 Byte
Status AC
Exec Time 236 ms
Memory 24076 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 30
Set Name Test Cases
Sample sample1.txt, sample2.txt, sample3.txt
All sample1.txt, sample2.txt, sample3.txt, in1.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in2.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in3.txt, in4.txt, in5.txt, in6.txt, in7.txt, in8.txt, in9.txt
Case Name Status Exec Time Memory
in1.txt AC 196 ms 22092 KB
in10.txt AC 140 ms 11728 KB
in11.txt AC 234 ms 23812 KB
in12.txt AC 231 ms 23888 KB
in13.txt AC 204 ms 21968 KB
in14.txt AC 97 ms 8272 KB
in15.txt AC 96 ms 8272 KB
in16.txt AC 95 ms 8404 KB
in17.txt AC 97 ms 8400 KB
in18.txt AC 96 ms 8276 KB
in19.txt AC 96 ms 8276 KB
in2.txt AC 236 ms 24076 KB
in20.txt AC 96 ms 8404 KB
in21.txt AC 207 ms 23352 KB
in22.txt AC 213 ms 23332 KB
in23.txt AC 210 ms 23160 KB
in24.txt AC 124 ms 9552 KB
in25.txt AC 140 ms 11728 KB
in26.txt AC 212 ms 23152 KB
in27.txt AC 214 ms 23428 KB
in3.txt AC 226 ms 23400 KB
in4.txt AC 218 ms 23408 KB
in5.txt AC 235 ms 23932 KB
in6.txt AC 212 ms 23288 KB
in7.txt AC 215 ms 23448 KB
in8.txt AC 141 ms 11600 KB
in9.txt AC 140 ms 11732 KB
sample1.txt AC 96 ms 8276 KB
sample2.txt AC 96 ms 8404 KB
sample3.txt AC 96 ms 8400 KB