This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
int i,j,k,l,m,n,a[1009],dp[109][109],x,y,jem;
vector<int>mx,mn;
int main ()
{
	cin>>n>>k;
	for(int i=1; i<=n; i++) cin>>a[i];
	l=a[1]; x=1; y=1; mn.push_back(a[1]);
	for(int i=1; i<=n; i++)
	{
		if(a[i]<l) {mx.push_back(l); x++; y=1; mn.push_back(a[i]);}
		l=a[i];
		dp[x][y]=l; y++;
	}
	mx.push_back(l);
	if(mx.size()==k)
	{
		for(int i=0; i<mx.size(); i++)
		{
			for(int j=0; j<mx.size(); j++)
			{
				if(mx[i]<mx[j]) mx[i]=mn[i];
			}
		}
		for(int i=0; i<mx.size(); i++) jem+=mx[i];
	}
	else if(mx.size()>k)
	{
		for(int i=0; i<mx.size(); i++)
		{
			for(int j=0; j<mx.size(); j++)
			{
				if(mx[i]<mx[j]) mx[i]=mn[i];
			}
		}
		sort(mx.begin(),mx.end());
		jem+=mx[mx.size()-1];
		for(int i=0; i<k-1; i++) jem+=mx[i];
	}
	
	cout<<jem; 
}
Compilation message (stderr)
blocks.cpp: In function 'int main()':
blocks.cpp:17:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(mx.size()==k)
     ~~~~~~~~~^~~
blocks.cpp:19:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0; i<mx.size(); i++)
                ~^~~~~~~~~~
blocks.cpp:21:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int j=0; j<mx.size(); j++)
                 ~^~~~~~~~~~
blocks.cpp:26:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0; i<mx.size(); i++) jem+=mx[i];
                ~^~~~~~~~~~
blocks.cpp:28:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  else if(mx.size()>k)
          ~~~~~~~~~^~
blocks.cpp:30:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0; i<mx.size(); i++)
                ~^~~~~~~~~~
blocks.cpp:32:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int j=0; j<mx.size(); j++)
                 ~^~~~~~~~~~| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |