Submission #636418


Source Code Expand

import java.io.BufferedReader;
import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.TreeMap;
import java.util.Map.Entry;
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.TreeSet;
 
public class Main {
	
	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		
		final int N = sc.nextInt();
		final long H = sc.nextLong();
		
		final long A = sc.nextLong();
		final long B = sc.nextLong();
		final long C = sc.nextLong();
		final long D = sc.nextLong();
		final long E = sc.nextLong();
		
		long min_cost = Long.MAX_VALUE;
		
		if(H > N * E){
			System.out.println(0);
			return;
		}
		
		for(int empty_day = 0; empty_day <= N; empty_day++){
			final long less = Math.max(0, empty_day * E - H);
			//System.out.println(empty_day + " : " + less);
			
			if(less >= B * (N - empty_day)){
				continue;
			}else{
				final long food_diff = B - D;
				
				final long only_low_price = less - D * (N - empty_day);
				
				if(only_low_price < 0){
					min_cost = Math.min(min_cost, C * (N - empty_day));
				}else{
					final long high_need = only_low_price / food_diff + 1;
					
					if(high_need <= (N - empty_day)){
						min_cost = Math.min(min_cost, A * high_need + C * (N - empty_day - high_need));
					}
				}
			}
		}
		
		System.out.println(min_cost);
	}
	
	public static class Scanner implements Closeable {
		private BufferedReader br;
		private StringTokenizer tok;
 
		public Scanner(InputStream is) throws IOException {
			br = new BufferedReader(new InputStreamReader(is));
		}
 
		private void getLine() throws IOException {
			while (!hasNext()) {
				tok = new StringTokenizer(br.readLine());
			}
		}
 
		private boolean hasNext() {
			return tok != null && tok.hasMoreTokens();
		}
 
		public String next() throws IOException {
			getLine();
			return tok.nextToken();
		}
 
		public int nextInt() throws IOException {
			return Integer.parseInt(next());
		}
 
		public long nextLong() throws IOException {
			return Long.parseLong(next());
		}
 
		public void close() throws IOException {
			br.close();
		}
	}	
}

Submission Info

Submission Time
Task C - 節制
User mondatto
Language Java (OpenJDK 1.7.0)
Score 101
Code Size 2531 Byte
Status AC
Exec Time 419 ms
Memory 21896 KB

Judge Result

Set Name Subtask1 Subtask2 Subtask3 Subtask4
Score / Max Score 10 / 10 30 / 30 60 / 60 1 / 1
Status
AC × 25
AC × 25
AC × 86
AC × 99
Set Name Test Cases
Subtask1 sample_1.txt, sample_2.txt, sample_3.txt, 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt
Subtask2 sample_1.txt, sample_2.txt, sample_3.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt
Subtask3 sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt, 03_010.txt, 03_011.txt, 03_012.txt, 03_020.txt, 03_021.txt, 03_022.txt, 03_100.txt, 03_101.txt, 03_102.txt, 03_110.txt, 03_111.txt, 03_112.txt, 03_200.txt, 03_201.txt, 03_202.txt, 03_220.txt, 03_221.txt, 03_222.txt, 03_random01.txt, 03_random02.txt, 03_random03.txt, 03_random04.txt, 03_random05.txt, 03_random06.txt, 03_random07.txt, 03_random08.txt, 03_random09.txt, 03_random10.txt, 03_random11.txt, 03_random12.txt, 03_random13.txt, 03_random14.txt, 03_random15.txt, 03_random16.txt, 03_random17.txt, 03_random18.txt, 03_random19.txt, 03_random20.txt
Subtask4 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt, 03_010.txt, 03_011.txt, 03_012.txt, 03_020.txt, 03_021.txt, 03_022.txt, 03_100.txt, 03_101.txt, 03_102.txt, 03_110.txt, 03_111.txt, 03_112.txt, 03_200.txt, 03_201.txt, 03_202.txt, 03_220.txt, 03_221.txt, 03_222.txt, 03_random01.txt, 03_random02.txt, 03_random03.txt, 03_random04.txt, 03_random05.txt, 03_random06.txt, 03_random07.txt, 03_random08.txt, 03_random09.txt, 03_random10.txt, 03_random11.txt, 03_random12.txt, 03_random13.txt, 03_random14.txt, 03_random15.txt, 03_random16.txt, 03_random17.txt, 03_random18.txt, 03_random19.txt, 03_random20.txt, 04_010.txt, 04_011.txt, 04_020.txt, 04_021.txt, 04_100.txt, 04_101.txt, 04_110.txt, 04_111.txt, 04_200.txt, 04_201.txt, 04_220.txt, 04_221.txt, 04_random01.txt, 04_random02.txt, 04_random03.txt, 04_random04.txt, 04_random05.txt
Case Name Status Exec Time Memory
01_010.txt AC 316 ms 20876 KB
01_011.txt AC 306 ms 20800 KB
01_020.txt AC 307 ms 20728 KB
01_021.txt AC 310 ms 20784 KB
01_100.txt AC 307 ms 20800 KB
01_101.txt AC 303 ms 20724 KB
01_110.txt AC 299 ms 20804 KB
01_111.txt AC 304 ms 20692 KB
01_200.txt AC 303 ms 20768 KB
01_201.txt AC 293 ms 20792 KB
01_220.txt AC 299 ms 20748 KB
01_221.txt AC 297 ms 20728 KB
01_random01.txt AC 302 ms 20800 KB
01_random02.txt AC 303 ms 20704 KB
01_random03.txt AC 302 ms 20804 KB
01_random04.txt AC 301 ms 20800 KB
01_random05.txt AC 300 ms 20792 KB
01_random06.txt AC 299 ms 20768 KB
01_random07.txt AC 309 ms 20716 KB
01_random08.txt AC 308 ms 20800 KB
01_random09.txt AC 305 ms 20768 KB
01_random10.txt AC 318 ms 20780 KB
02_010.txt AC 305 ms 20824 KB
02_011.txt AC 323 ms 20800 KB
02_020.txt AC 314 ms 20800 KB
02_021.txt AC 308 ms 20788 KB
02_100.txt AC 307 ms 20772 KB
02_101.txt AC 307 ms 20700 KB
02_110.txt AC 308 ms 20812 KB
02_111.txt AC 325 ms 20892 KB
02_200.txt AC 317 ms 20812 KB
02_201.txt AC 315 ms 20824 KB
02_220.txt AC 315 ms 20740 KB
02_221.txt AC 315 ms 20712 KB
02_random01.txt AC 308 ms 20772 KB
02_random02.txt AC 305 ms 20724 KB
02_random03.txt AC 301 ms 20824 KB
02_random04.txt AC 311 ms 20804 KB
02_random05.txt AC 306 ms 20716 KB
02_random06.txt AC 309 ms 20800 KB
02_random07.txt AC 307 ms 20788 KB
02_random08.txt AC 306 ms 20728 KB
02_random09.txt AC 309 ms 20720 KB
02_random10.txt AC 308 ms 20724 KB
03_010.txt AC 326 ms 20700 KB
03_011.txt AC 307 ms 20728 KB
03_012.txt AC 309 ms 20876 KB
03_020.txt AC 315 ms 20728 KB
03_021.txt AC 309 ms 20828 KB
03_022.txt AC 312 ms 20760 KB
03_100.txt AC 307 ms 20772 KB
03_101.txt AC 331 ms 20752 KB
03_102.txt AC 304 ms 20724 KB
03_110.txt AC 388 ms 20740 KB
03_111.txt AC 368 ms 20720 KB
03_112.txt AC 358 ms 20792 KB
03_200.txt AC 303 ms 20784 KB
03_201.txt AC 357 ms 20768 KB
03_202.txt AC 311 ms 20800 KB
03_220.txt AC 397 ms 20720 KB
03_221.txt AC 331 ms 20788 KB
03_222.txt AC 377 ms 20740 KB
03_random01.txt AC 337 ms 20732 KB
03_random02.txt AC 330 ms 20780 KB
03_random03.txt AC 354 ms 20784 KB
03_random04.txt AC 312 ms 20620 KB
03_random05.txt AC 305 ms 20720 KB
03_random06.txt AC 300 ms 20816 KB
03_random07.txt AC 314 ms 20736 KB
03_random08.txt AC 359 ms 20788 KB
03_random09.txt AC 314 ms 20864 KB
03_random10.txt AC 361 ms 20768 KB
03_random11.txt AC 419 ms 20824 KB
03_random12.txt AC 361 ms 20776 KB
03_random13.txt AC 317 ms 20816 KB
03_random14.txt AC 317 ms 20780 KB
03_random15.txt AC 310 ms 20796 KB
03_random16.txt AC 310 ms 20780 KB
03_random17.txt AC 315 ms 20800 KB
03_random18.txt AC 312 ms 20708 KB
03_random19.txt AC 307 ms 20740 KB
03_random20.txt AC 308 ms 20728 KB
04_010.txt AC 337 ms 21820 KB
04_011.txt AC 341 ms 21756 KB
04_020.txt AC 330 ms 21848 KB
04_021.txt AC 335 ms 21816 KB
04_100.txt AC 335 ms 21836 KB
04_101.txt AC 348 ms 21876 KB
04_110.txt AC 329 ms 21896 KB
04_111.txt AC 326 ms 21748 KB
04_200.txt AC 321 ms 21644 KB
04_201.txt AC 332 ms 20752 KB
04_220.txt AC 330 ms 21628 KB
04_221.txt AC 342 ms 21840 KB
04_random01.txt AC 322 ms 21128 KB
04_random02.txt AC 324 ms 21684 KB
04_random03.txt AC 329 ms 21712 KB
04_random04.txt AC 336 ms 21868 KB
04_random05.txt AC 327 ms 21860 KB
sample_1.txt AC 308 ms 20780 KB
sample_2.txt AC 303 ms 20832 KB
sample_3.txt AC 311 ms 20808 KB
sample_4.txt AC 366 ms 20856 KB