結果
| 問題 |
No.1015 おつりは要らないです
|
| コンテスト | |
| ユーザー |
cnt_fo
|
| 提出日時 | 2020-04-03 22:58:57 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 3,596 bytes |
| コンパイル時間 | 2,212 ms |
| コンパイル使用メモリ | 80,540 KB |
| 実行使用メモリ | 47,372 KB |
| 最終ジャッジ日時 | 2024-07-03 05:32:37 |
| 合計ジャッジ時間 | 8,917 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 WA * 2 |
| other | AC * 23 WA * 10 |
ソースコード
import java.io.*;
import java.util.*;
public class Main {
void submit() {
int N = nextInt();
int X = nextInt();
int Y = nextInt();
int Z = nextInt();
int[] A = new int[N];
for(int i=0; i<N; i++){
A[i] = nextInt();
}
String buy = "Yes";
for(int i=0; i<N; i++){
if(A[i]<1000){
if(X>0){
X--;
}else if(Y>0){
Y--;
}else if(Z>0){
Z--;
}else{
buy = "No";
break;
}
}
else if(A[i]<5000){
int tmp_X=A[i]/1000;
if(A[i]%1000!=0){
tmp_X++;
}
if(X>=tmp_X){
X -= tmp_X;
}else if(Y>0){
Y--;
}else if(Z>0){
Z--;
}else{
buy = "No";
break;
}
}else if(A[i]<10000){
if(X>0){
A[i]-=5000;
X--;
}
int tmp_X=A[i]/1000;
if(A[i]%1000!=0){
tmp_X++;
}
if(X>=tmp_X){
X -= tmp_X;
}else if(Y>1){
Y-=2;
}else if(Z>0){
Z--;
}else{
buy = "No";
break;
}
}else{
int tmp_Z = A[i]/10000;
if(Z>=tmp_Z){
Z -= tmp_Z;
}else{
buy = "No";
break;
}
int amari_Z = A[i]%10000;
if(Y>0 && amari_Z>=5000){
Y--;
amari_Z -= 5000;
}
int tmp_X=amari_Z/1000;
if(amari_Z%1000!=0){
tmp_X++;
}
if(X>=tmp_X){
X -= tmp_X;
}else if(Y>0){
Y--;
}else if(Z>0){
Z--;
}else{
out.println("5 "+ A[i]);
buy = "No";
break;
}
}
}
out.println(buy);
}
void preCalc() {
}
void stress() {
}
void test() {
}
Main() throws IOException {
br = new BufferedReader(new InputStreamReader(System.in));
out = new PrintWriter(System.out);
preCalc();
submit();
//stress();
//test();
out.close();
}
static final Random rng = new Random();
static int rand(int l, int r) {
return l + rng.nextInt(r - l + 1);
}
public static void main(String[] args) throws IOException {
new Main();
}
BufferedReader br;
PrintWriter out;
StringTokenizer st;
String nextToken() {
while (st == null || !st.hasMoreTokens()) {
try {
st = new StringTokenizer(br.readLine());
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return st.nextToken();
}
String nextString() {
try {
return br.readLine();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
int nextInt() {
return Integer.parseInt(nextToken());
}
long nextLong() {
return Long.parseLong(nextToken());
}
double nextDouble() {
return Double.parseDouble(nextToken());
}
}
cnt_fo