結果
| 問題 |
No.1015 おつりは要らないです
|
| コンテスト | |
| ユーザー |
sca1l
|
| 提出日時 | 2020-07-20 23:23:32 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 634 ms / 2,000 ms |
| コード長 | 1,480 bytes |
| コンパイル時間 | 2,143 ms |
| コンパイル使用メモリ | 78,640 KB |
| 実行使用メモリ | 60,612 KB |
| 最終ジャッジ日時 | 2024-11-18 07:24:32 |
| 合計ジャッジ時間 | 17,020 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 33 |
ソースコード
import java.util.*;
public class Main{
static final int MOD = (int)1e9+7;
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.next());
int x = Integer.parseInt(sc.next());
int y = Integer.parseInt(sc.next());
int z = Integer.parseInt(sc.next());
int[] c = {z, y, x};
int[] d = {10000, 5000, 1000};
int[] a = new int[n];
for(int i=0; i<n; i++){
a[i] = Integer.parseInt(sc.next());
}
for(int i=0; i<3; i++){
rsort(a);
for(int j=0; j<n; j++){
int t = Math.max(a[j]/d[i], 0);
t = Math.min(t, c[i]);
a[j] -= t*d[i];
c[i] -= t;
}
rsort(a);
for(int j=0; j<n; j++){
if(c[i] > 0 && a[j] >= 0){
c[i]--;
a[j] -= d[i];
}
}
}
boolean ans = true;
for(int i=0; i<n; i++){
if(a[i] >= 0){
ans = false;
break;
}
}
System.out.println(ans ? "Yes" : "No");
}
public static void rsort(int[] a){
Arrays.sort(a);
for(int i=0; i<a.length/2; i++){
int tmp = a[i];
a[i] = a[a.length-1-i];
a[a.length-1-i] = tmp;
}
}
}
sca1l