Submission #2133838


Source Code Expand

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.NoSuchElementException;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) throws IOException {
		new Main().run();
	}

	void run() {
		FastScanner sc = new FastScanner();
		int n = (int) sc.nextLong();
		int m = (int) sc.nextLong();
		int k = (int) sc.nextLong();
		long[] a = new long[n];
		for (int i = 0; i < n; ++i) {
			a[i] = sc.nextLong();
		}

		ArrayDeque<Long>[] dq = new ArrayDeque[k];
		for (int i = 0; i < dq.length; ++i)
			dq[i] = new ArrayDeque();
		long ans = 0;
		for (int i = 0; i < n; ++i) {
			for (int j = k - 1; j >= 0; --j) {
				long add = a[i] * (j + 1);
				long base;
				if (j > 0) {
					if (dq[j - 1].isEmpty())
						continue;
					else
						base = dq[j - 1].peekLast();
				} else {
					base = 0;
				}
				long v = add + base;
				if (j == k - 1)
					ans = Math.max(ans, v);
				int cnt = 0;
				while (!dq[j].isEmpty() && dq[j].peekFirst() < v) {
					dq[j].pollFirst();
					++cnt;
				}
				while (cnt-- >= 0) {
					dq[j].addFirst(v);
				}
				while (dq[j].size() > m)
					dq[j].pollLast();
			}
		}
		System.out.println(ans);
	}

	class FastScanner {
		private final InputStream in = System.in;
		private final byte[] buffer = new byte[1024];
		private int ptr = 0;
		private int buflen = 0;

		private boolean hasNextByte() {
			if (ptr < buflen) {
				return true;
			} else {
				ptr = 0;
				try {
					buflen = in.read(buffer);
				} catch (IOException e) {
					e.printStackTrace();
				}
				if (buflen <= 0) {
					return false;
				}
			}
			return true;
		}

		private int readByte() {
			if (hasNextByte())
				return buffer[ptr++];
			else
				return -1;
		}

		private boolean isPrintableChar(int c) {
			return 33 <= c && c <= 126;
		}

		private void skipUnprintable() {
			while (hasNextByte() && !isPrintableChar(buffer[ptr]))
				ptr++;
		}

		public boolean hasNext() {
			skipUnprintable();
			return hasNextByte();
		}

		public String next() {
			if (!hasNext())
				throw new NoSuchElementException();
			StringBuilder sb = new StringBuilder();
			int b = readByte();
			while (isPrintableChar(b)) {
				sb.appendCodePoint(b);
				b = readByte();
			}
			return sb.toString();
		}

		public long nextLong() {
			if (!hasNext())
				throw new NoSuchElementException();
			long n = 0;
			boolean minus = false;
			int b = readByte();
			if (b == '-') {
				minus = true;
				b = readByte();
			}
			if (b < '0' || '9' < b) {
				throw new NumberFormatException();
			}
			while (true) {
				if ('0' <= b && b <= '9') {
					n *= 10;
					n += b - '0';
				} else if (b == -1 || !isPrintableChar(b)) {
					return minus ? -n : n;
				} else {
					throw new NumberFormatException();
				}
				b = readByte();
			}
		}
	}

	void tr(Object... objects) {
		System.out.println(Arrays.deepToString(objects));
	}
}

Submission Info

Submission Time
Task A - Struck Out
User fortoobye
Language Java8 (OpenJDK 1.8.0)
Score 200
Code Size 3080 Byte
Status TLE
Exec Time 2112 ms
Memory 445704 KB

Compile Error

Note: ./Main.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Judge Result

Set Name Sample subtask1 subtask2 subtask3 All
Score / Max Score 0 / 0 0 / 100 200 / 200 0 / 300 0 / 100
Status
AC × 3
AC × 6
TLE × 4
AC × 12
AC × 20
TLE × 1
AC × 32
TLE × 14
Set Name Test Cases
Sample sample_1.txt, sample_2.txt, sample_3.txt
subtask1 sample_2.txt, subtask_1_1.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt
subtask2 sample_1.txt, sample_2.txt, sample_3.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt
subtask3 sample_1.txt, sample_2.txt, sample_3.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt, subtask_3_1.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt, subtask_3_9.txt
All sample_1.txt, sample_2.txt, sample_3.txt, sample_1.txt, sample_2.txt, sample_3.txt, subtask_1_1.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt, subtask_3_1.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt, subtask_3_9.txt, subtask_4_1.txt, subtask_4_10.txt, subtask_4_11.txt, subtask_4_12.txt, subtask_4_13.txt, subtask_4_2.txt, subtask_4_3.txt, subtask_4_4.txt, subtask_4_5.txt, subtask_4_6.txt, subtask_4_7.txt, subtask_4_8.txt, subtask_4_9.txt
Case Name Status Exec Time Memory
sample_1.txt AC 71 ms 21076 KB
sample_2.txt AC 71 ms 20692 KB
sample_3.txt AC 71 ms 19284 KB
subtask_1_1.txt AC 78 ms 17748 KB
subtask_1_2.txt TLE 2110 ms 385072 KB
subtask_1_3.txt TLE 2111 ms 407220 KB
subtask_1_4.txt AC 147 ms 49284 KB
subtask_1_5.txt AC 228 ms 98100 KB
subtask_1_6.txt AC 105 ms 29632 KB
subtask_1_7.txt TLE 2112 ms 433392 KB
subtask_1_8.txt TLE 2107 ms 384684 KB
subtask_1_9.txt AC 187 ms 57904 KB
subtask_2_1.txt AC 101 ms 23508 KB
subtask_2_2.txt AC 79 ms 18388 KB
subtask_2_3.txt AC 83 ms 19924 KB
subtask_2_4.txt AC 84 ms 21588 KB
subtask_2_5.txt AC 75 ms 21076 KB
subtask_2_6.txt AC 70 ms 18260 KB
subtask_2_7.txt AC 89 ms 20948 KB
subtask_2_8.txt AC 100 ms 21844 KB
subtask_2_9.txt AC 86 ms 21584 KB
subtask_3_1.txt AC 1628 ms 390628 KB
subtask_3_2.txt AC 601 ms 232228 KB
subtask_3_3.txt AC 690 ms 269612 KB
subtask_3_4.txt AC 448 ms 161372 KB
subtask_3_5.txt AC 152 ms 46436 KB
subtask_3_6.txt AC 270 ms 87984 KB
subtask_3_7.txt TLE 2052 ms 445704 KB
subtask_3_8.txt AC 204 ms 60644 KB
subtask_3_9.txt AC 385 ms 148904 KB
subtask_4_1.txt TLE 2110 ms 382708 KB
subtask_4_10.txt AC 991 ms 272440 KB
subtask_4_11.txt AC 1394 ms 344732 KB
subtask_4_12.txt AC 1998 ms 346484 KB
subtask_4_13.txt TLE 2110 ms 345400 KB
subtask_4_2.txt TLE 2110 ms 343516 KB
subtask_4_3.txt TLE 2110 ms 386480 KB
subtask_4_4.txt TLE 2110 ms 383060 KB
subtask_4_5.txt TLE 2110 ms 368044 KB
subtask_4_6.txt AC 1205 ms 396060 KB
subtask_4_7.txt TLE 2058 ms 343060 KB
subtask_4_8.txt TLE 2112 ms 414268 KB
subtask_4_9.txt TLE 2110 ms 351932 KB