Submission #42263

#TimeUsernameProblemLanguageResultExecution timeMemory
42263RezwanArefin01Stove (JOI18_stove)C++14
20 / 100
2 ms568 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<int, int> ii; 

int a[22], n, K, dp[22][22];

int main(int argc, char const *argv[]) {
#ifdef LOCAL_TESTING
	freopen("in", "r", stdin);
#endif
	scanf("%d %d", &n, &K);
	if(n > 20) return 0;
	for(int i = 1; i <= n; i++) 
		scanf("%d", &a[i]);

	for(int i = 1; i <= n; i++) 
		dp[1][i] = a[i] - a[1] + 1; 

	for(int k = 2; k <= K; k++) {
		for(int i = 1; i <= n; i++) {
			dp[k][i] = 1e9;
			for(int j = 1; j < i; j++) {
				dp[k][i] = min(dp[k][i], dp[k - 1][j] + a[i] - a[j + 1] + 1);
			}
		}
	}	

/*	for(int i = 1; i <= K; i++) {
		for(int j = 1; j <= n; j++) 
			cout << dp[i][j] << " ";
		cout << endl;
	}*/
	cout << dp[K][n] << endl;
}

Compilation message (stderr)

stove.cpp: In function 'int main(int, const char**)':
stove.cpp:13:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &n, &K);
                        ^
stove.cpp:16:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &a[i]);
                     ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...