結果
問題 | No.1015 おつりは要らないです |
ユーザー |
![]() |
提出日時 | 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; } } }