提出 #9182244


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int MX = 100005;

int a[MX];
int n, m, v, p;

bool can(int x)
{	
	ll rem = (v - 1) * 1LL * m;
	
	int cc = p - 1;
	for (int j = 1; j <= n; j++) {
		if (j == x) continue;
		if (cc) {
			rem -= m;
			cc--;
		}
		else {
			rem -= min(m, a[x] + m - a[j]);
			if (a[x] + m < a[j]) return false;
		}
	}
		
	return rem <= 0;
}

int main()
{
	ignore = scanf("%d %d %d %d", &n, &m, &v, &p);
	
	for (int i = 1; i <= n; i++) {
		ignore = scanf("%d", a + i);
	}
	sort(a + 1, a + n + 1);
	reverse(a + 1, a + n + 1);
	
	int L = 1, R = n;
	int ans = 0;
	
	while (L <= R) {
		int M = (L + R) / 2;
		if (can(M)) {
			ans = M;
			L = M + 1;
		}
		else {
			R = M - 1;
		}
	}
	printf("%d\n", ans);
}

提出情報

提出日時
問題 B - Voting Judges
ユーザ kristapuciitis
言語 C++14 (GCC 5.4.1)
得点 700
コード長 809 Byte
結果 AC
実行時間 21 ms
メモリ 640 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 700 / 700
結果
AC × 3
AC × 60
セット名 テストケース
Sample 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt, 01-44.txt, 01-45.txt, 01-46.txt, 01-47.txt, 01-48.txt, 01-49.txt, 01-50.txt, 01-51.txt, 01-52.txt, 01-53.txt, 01-54.txt, 01-55.txt, 01-56.txt, 01-57.txt
ケース名 結果 実行時間 メモリ
00-sample-01.txt AC 1 ms 256 KiB
00-sample-02.txt AC 1 ms 256 KiB
00-sample-03.txt AC 1 ms 256 KiB
01-01.txt AC 1 ms 256 KiB
01-02.txt AC 1 ms 256 KiB
01-03.txt AC 1 ms 256 KiB
01-04.txt AC 1 ms 256 KiB
01-05.txt AC 1 ms 256 KiB
01-06.txt AC 1 ms 256 KiB
01-07.txt AC 1 ms 256 KiB
01-08.txt AC 13 ms 512 KiB
01-09.txt AC 17 ms 512 KiB
01-10.txt AC 2 ms 256 KiB
01-11.txt AC 3 ms 256 KiB
01-12.txt AC 17 ms 512 KiB
01-13.txt AC 12 ms 512 KiB
01-14.txt AC 8 ms 384 KiB
01-15.txt AC 10 ms 384 KiB
01-16.txt AC 17 ms 640 KiB
01-17.txt AC 6 ms 384 KiB
01-18.txt AC 4 ms 256 KiB
01-19.txt AC 20 ms 640 KiB
01-20.txt AC 13 ms 512 KiB
01-21.txt AC 20 ms 640 KiB
01-22.txt AC 21 ms 640 KiB
01-23.txt AC 20 ms 640 KiB
01-24.txt AC 20 ms 640 KiB
01-25.txt AC 20 ms 640 KiB
01-26.txt AC 20 ms 640 KiB
01-27.txt AC 20 ms 640 KiB
01-28.txt AC 20 ms 640 KiB
01-29.txt AC 20 ms 640 KiB
01-30.txt AC 20 ms 640 KiB
01-31.txt AC 13 ms 640 KiB
01-32.txt AC 14 ms 640 KiB
01-33.txt AC 17 ms 640 KiB
01-34.txt AC 19 ms 640 KiB
01-35.txt AC 19 ms 640 KiB
01-36.txt AC 15 ms 640 KiB
01-37.txt AC 20 ms 640 KiB
01-38.txt AC 16 ms 640 KiB
01-39.txt AC 16 ms 640 KiB
01-40.txt AC 16 ms 640 KiB
01-41.txt AC 16 ms 640 KiB
01-42.txt AC 16 ms 640 KiB
01-43.txt AC 16 ms 640 KiB
01-44.txt AC 16 ms 640 KiB
01-45.txt AC 16 ms 640 KiB
01-46.txt AC 16 ms 640 KiB
01-47.txt AC 16 ms 640 KiB
01-48.txt AC 16 ms 640 KiB
01-49.txt AC 16 ms 640 KiB
01-50.txt AC 16 ms 640 KiB
01-51.txt AC 16 ms 640 KiB
01-52.txt AC 15 ms 640 KiB
01-53.txt AC 14 ms 640 KiB
01-54.txt AC 19 ms 640 KiB
01-55.txt AC 20 ms 640 KiB
01-56.txt AC 21 ms 640 KiB
01-57.txt AC 20 ms 640 KiB