Submission #1208051

#TimeUsernameProblemLanguageResultExecution timeMemory
1208051gatapdevK blocks (IZhO14_blocks)C++20
0 / 100
0 ms324 KiB
#include<bits/stdc++.h>
using namespace std;
int a[100001];
int dp[10001][101];
int main(){
	freopen("blocks.inp","r",stdin);
	freopen("blocks.out","w",stdout);
	int n,K;
	cin>>n>>K;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=n;i++) for(int j=1;j<=K;j++) dp[i][j]=INT_MAX;
	for(int i=1;i<=n;i++) dp[i][1]=max(dp[i-1][1],a[i]);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=i;j++){
			int mx=-1;
			for(int k=j;k<=i;k++) mx=max(mx,a[k]);
			for(int k=2;k<=min(i,K);k++){
				if(j>1)
				dp[i][k]=min(dp[i][k],dp[j-1][k-1]+mx);
			}
		}
	} 
	cout<<dp[n][K];
}

Compilation message (stderr)

blocks.cpp: In function 'int main()':
blocks.cpp:6:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    6 |         freopen("blocks.inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
blocks.cpp:7:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    7 |         freopen("blocks.out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...