Submission #68089711


Source Code Expand

Copy
#include <stdio.h>
int N;
int A[212345];
int main(void) {
int T, tc;
if (scanf("%d", &T) != 1) return 1;
for (tc = 0; tc < T; tc++) {
int i;
long long height = 0;
long long yoyuu = 0;
long long syakkin = 0;
if (scanf("%d", &N) != 1) return 1;
for (i = 0; i < N; i++) {
if (scanf("%d", &A[i]) != 1) return 1;
}
for (i = 0; i < N; i++) {
if (A[i] < height) {
/* */
syakkin += height - A[i];
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>

int N;
int A[212345];

int main(void) {
	int T, tc;
	if (scanf("%d", &T) != 1) return 1;
	for (tc = 0; tc < T; tc++) {
		int i;
		long long height = 0;
		long long yoyuu = 0;
		long long syakkin = 0;
		if (scanf("%d", &N) != 1) return 1;
		for (i = 0; i < N; i++) {
			if (scanf("%d", &A[i]) != 1) return 1;
		}
		for (i = 0; i < N; i++) {
			if (A[i] < height) {
				/* 現在の高さより低いので、足りない分を借金にする */
				syakkin += height - A[i];
			} else if (syakkin >= A[i] - height) {
				/* 借金の返済だけで現在の高さになる */
				syakkin -= A[i] - height;
			} else {
				long long chouka = A[i] - height - syakkin;
				syakkin = 0;
				if (yoyuu >= chouka) {
					/* 余ってる部分で、上に出た部分と相殺できる */
					yoyuu -= chouka;
				} else {
					/* 相殺しきれない → 現在の高さを上げる */
					chouka -= yoyuu;
					height += (chouka + i) / (i + 1);
					yoyuu = (i + 1 - chouka % (i + 1)) % (i + 1);
				}
			}
		}
		puts(syakkin <= 0 ? "Yes" : "No");
	}
	return 0;
}

/*

前からみて、なるべく低くしていく
高いところがあったら、前に流す
低いところは、借金として後に押し付ける

*/

Submission Info

Submission Time
Task B - +1 and -1
User mikecat
Language C (gcc 12.2.0)
Score 600
Code Size 1293 Byte
Status AC
Exec Time 30 ms
Memory 2388 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 1
AC × 71
Set Name Test Cases
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_n_small_00.txt, 01_n_small_01.txt, 01_n_small_02.txt, 01_n_small_03.txt, 01_n_small_04.txt, 01_n_small_05.txt, 01_n_small_06.txt, 01_n_small_07.txt, 01_n_small_08.txt, 01_n_small_09.txt, 01_n_small_10.txt, 01_n_small_11.txt, 01_n_small_12.txt, 01_n_small_13.txt, 01_n_small_14.txt, 01_n_small_15.txt, 01_n_small_16.txt, 01_n_small_17.txt, 01_n_small_18.txt, 01_n_small_19.txt, 01_n_small_20.txt, 01_n_small_21.txt, 01_n_small_22.txt, 01_n_small_23.txt, 01_n_small_24.txt, 01_n_small_25.txt, 01_n_small_26.txt, 01_n_small_27.txt, 01_n_small_28.txt, 01_n_small_29.txt, 01_n_small_30.txt, 01_n_small_31.txt, 01_n_small_32.txt, 01_n_small_33.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 03_random_2_00.txt, 03_random_2_01.txt, 03_random_2_02.txt, 03_random_2_03.txt, 03_random_2_04.txt, 03_random_2_05.txt, 03_random_2_06.txt, 03_random_2_07.txt, 03_random_2_08.txt, 03_random_2_09.txt, 04_random_3_00.txt, 04_random_3_01.txt, 04_random_3_02.txt, 04_random_3_03.txt, 04_random_3_04.txt, 05_random_4_00.txt, 05_random_4_01.txt, 05_random_4_02.txt, 05_random_4_03.txt, 05_random_4_04.txt, 05_random_4_05.txt, 05_random_4_06.txt, 05_random_4_07.txt, 05_random_4_08.txt, 05_random_4_09.txt, 06_corner_00.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 1604 KiB
01_n_small_00.txt AC 13 ms 1624 KiB
01_n_small_01.txt AC 13 ms 1448 KiB
01_n_small_02.txt AC 14 ms 1648 KiB
01_n_small_03.txt AC 13 ms 1628 KiB
01_n_small_04.txt AC 13 ms 1628 KiB
01_n_small_05.txt AC 13 ms 1612 KiB
01_n_small_06.txt AC 14 ms 1612 KiB
01_n_small_07.txt AC 13 ms 1632 KiB
01_n_small_08.txt AC 13 ms 1564 KiB
01_n_small_09.txt AC 13 ms 1624 KiB
01_n_small_10.txt AC 13 ms 1560 KiB
01_n_small_11.txt AC 13 ms 1608 KiB
01_n_small_12.txt AC 13 ms 1568 KiB
01_n_small_13.txt AC 13 ms 1532 KiB
01_n_small_14.txt AC 12 ms 1504 KiB
01_n_small_15.txt AC 12 ms 1608 KiB
01_n_small_16.txt AC 13 ms 1516 KiB
01_n_small_17.txt AC 12 ms 1648 KiB
01_n_small_18.txt AC 12 ms 1624 KiB
01_n_small_19.txt AC 17 ms 1632 KiB
01_n_small_20.txt AC 29 ms 1604 KiB
01_n_small_21.txt AC 26 ms 1652 KiB
01_n_small_22.txt AC 25 ms 1600 KiB
01_n_small_23.txt AC 25 ms 1616 KiB
01_n_small_24.txt AC 25 ms 1508 KiB
01_n_small_25.txt AC 24 ms 1624 KiB
01_n_small_26.txt AC 24 ms 1512 KiB
01_n_small_27.txt AC 24 ms 1508 KiB
01_n_small_28.txt AC 24 ms 1652 KiB
01_n_small_29.txt AC 24 ms 1564 KiB
01_n_small_30.txt AC 24 ms 1604 KiB
01_n_small_31.txt AC 24 ms 1632 KiB
01_n_small_32.txt AC 24 ms 1632 KiB
01_n_small_33.txt AC 7 ms 1628 KiB
02_random_00.txt AC 30 ms 1636 KiB
02_random_01.txt AC 28 ms 1556 KiB
02_random_02.txt AC 24 ms 1568 KiB
02_random_03.txt AC 22 ms 1656 KiB
02_random_04.txt AC 22 ms 1592 KiB
02_random_05.txt AC 21 ms 1656 KiB
02_random_06.txt AC 21 ms 1608 KiB
02_random_07.txt AC 22 ms 1552 KiB
02_random_08.txt AC 22 ms 1768 KiB
02_random_09.txt AC 22 ms 2312 KiB
03_random_2_00.txt AC 29 ms 1584 KiB
03_random_2_01.txt AC 28 ms 1660 KiB
03_random_2_02.txt AC 24 ms 1628 KiB
03_random_2_03.txt AC 23 ms 1624 KiB
03_random_2_04.txt AC 22 ms 1608 KiB
03_random_2_05.txt AC 21 ms 1564 KiB
03_random_2_06.txt AC 21 ms 1660 KiB
03_random_2_07.txt AC 22 ms 1660 KiB
03_random_2_08.txt AC 22 ms 1796 KiB
03_random_2_09.txt AC 22 ms 2268 KiB
04_random_3_00.txt AC 22 ms 2388 KiB
04_random_3_01.txt AC 22 ms 2352 KiB
04_random_3_02.txt AC 22 ms 2344 KiB
04_random_3_03.txt AC 22 ms 2316 KiB
04_random_3_04.txt AC 22 ms 2336 KiB
05_random_4_00.txt AC 29 ms 1512 KiB
05_random_4_01.txt AC 28 ms 1624 KiB
05_random_4_02.txt AC 25 ms 1564 KiB
05_random_4_03.txt AC 22 ms 1624 KiB
05_random_4_04.txt AC 21 ms 1656 KiB
05_random_4_05.txt AC 22 ms 1656 KiB
05_random_4_06.txt AC 21 ms 1632 KiB
05_random_4_07.txt AC 21 ms 1648 KiB
05_random_4_08.txt AC 21 ms 1760 KiB
05_random_4_09.txt AC 22 ms 1928 KiB
06_corner_00.txt AC 12 ms 2344 KiB


2025-08-02 (Sat)
07:52:28 +09:00