Submission #20829

# Submission time Handle Problem Language Result Execution time Memory
20829 2017-02-23T14:57:42 Z jyjy1229 None (KOI16_resort) C++14
100 / 100
0 ms 1156 KB
#include <stdio.h>
int n, m, dp[102][102] = {0,}, check[102], a, cnt, k, p = 2e9;
int min3(int x, int y, int z){
	int q;
	q = x>y?y:x;
	return q>z?z:q;
}
int min2(int x, int y){
	return x>y?y:x;
}
int main(){
	scanf("%d %d", &n, &m);
	for(int i=0;i<m;i++){
		scanf("%d", &a);
		check[a] = 1;
	}
	for(int i=0;i<=n;i++){
		for(int j=0;j<=n;j++){
			dp[i][j] = 2e9;
		}
	}
	dp[0][0] = 0;
	for(int i=1;i<=n;i++){
		for(int j=0;j<=n;j++){
			if(check[i] == 0){
				if(i>=5 && j>=2){
					dp[i][j] = min3(dp[i-1][j] + 10000, dp[i-3][j-1] + 25000, dp[i-5][j-2] + 37000);
				}
				else if(i>=3 && j>=1){
					dp[i][j] = min2(dp[i-1][j] + 10000, dp[i-3][j-1] + 25000);
				}
				else{
					dp[i][j] = dp[i-1][j] + 10000;
				}
				if(j+3<=n){
					dp[i][j] = min2(dp[i][j], dp[i-1][j+3]);
				}
			}
			else{
				if(i>=5 && j>=2){
					dp[i][j] = min3(dp[i-1][j], dp[i-3][j-1] + 25000, dp[i-5][j-2] + 37000);
				}
				else if(i>=3 && j>=1){
					dp[i][j] = min2(dp[i-1][j], dp[i-3][j-1] + 25000);
				}
				else{
					dp[i][j] = dp[i-1][j];
				}
			}
		}
	}
	for(int j=0;j<=n;j++){
		if(p > dp[n][j])	p = dp[n][j];
	}
	printf("%d", p);
	return 0;
}

Compilation message

resort.cpp: In function 'int main()':
resort.cpp:12:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &n, &m);
                        ^
resort.cpp:14:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &a);
                  ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1156 KB Output is correct
2 Correct 0 ms 1156 KB Output is correct
3 Correct 0 ms 1156 KB Output is correct
4 Correct 0 ms 1156 KB Output is correct
5 Correct 0 ms 1156 KB Output is correct
6 Correct 0 ms 1156 KB Output is correct
7 Correct 0 ms 1156 KB Output is correct
8 Correct 0 ms 1156 KB Output is correct
9 Correct 0 ms 1156 KB Output is correct
10 Correct 0 ms 1156 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1156 KB Output is correct
2 Correct 0 ms 1156 KB Output is correct
3 Correct 0 ms 1156 KB Output is correct
4 Correct 0 ms 1156 KB Output is correct
5 Correct 0 ms 1156 KB Output is correct
6 Correct 0 ms 1156 KB Output is correct
7 Correct 0 ms 1156 KB Output is correct
8 Correct 0 ms 1156 KB Output is correct
9 Correct 0 ms 1156 KB Output is correct
10 Correct 0 ms 1156 KB Output is correct
11 Correct 0 ms 1156 KB Output is correct
12 Correct 0 ms 1156 KB Output is correct
13 Correct 0 ms 1156 KB Output is correct
14 Correct 0 ms 1156 KB Output is correct
15 Correct 0 ms 1156 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1156 KB Output is correct
2 Correct 0 ms 1156 KB Output is correct
3 Correct 0 ms 1156 KB Output is correct
4 Correct 0 ms 1156 KB Output is correct
5 Correct 0 ms 1156 KB Output is correct
6 Correct 0 ms 1156 KB Output is correct
7 Correct 0 ms 1156 KB Output is correct
8 Correct 0 ms 1156 KB Output is correct
9 Correct 0 ms 1156 KB Output is correct
10 Correct 0 ms 1156 KB Output is correct
11 Correct 0 ms 1156 KB Output is correct
12 Correct 0 ms 1156 KB Output is correct
13 Correct 0 ms 1156 KB Output is correct
14 Correct 0 ms 1156 KB Output is correct
15 Correct 0 ms 1156 KB Output is correct
16 Correct 0 ms 1156 KB Output is correct
17 Correct 0 ms 1156 KB Output is correct
18 Correct 0 ms 1156 KB Output is correct
19 Correct 0 ms 1156 KB Output is correct
20 Correct 0 ms 1156 KB Output is correct
21 Correct 0 ms 1156 KB Output is correct
22 Correct 0 ms 1156 KB Output is correct
23 Correct 0 ms 1156 KB Output is correct
24 Correct 0 ms 1156 KB Output is correct
25 Correct 0 ms 1156 KB Output is correct
26 Correct 0 ms 1156 KB Output is correct
27 Correct 0 ms 1156 KB Output is correct
28 Correct 0 ms 1156 KB Output is correct
29 Correct 0 ms 1156 KB Output is correct
30 Correct 0 ms 1156 KB Output is correct
31 Correct 0 ms 1156 KB Output is correct
32 Correct 0 ms 1156 KB Output is correct
33 Correct 0 ms 1156 KB Output is correct
34 Correct 0 ms 1156 KB Output is correct
35 Correct 0 ms 1156 KB Output is correct
36 Correct 0 ms 1156 KB Output is correct
37 Correct 0 ms 1156 KB Output is correct
38 Correct 0 ms 1156 KB Output is correct
39 Correct 0 ms 1156 KB Output is correct
40 Correct 0 ms 1156 KB Output is correct
41 Correct 0 ms 1156 KB Output is correct
42 Correct 0 ms 1156 KB Output is correct
43 Correct 0 ms 1156 KB Output is correct
44 Correct 0 ms 1156 KB Output is correct