Pagini recente » Cod sursa (job #3257849) | Cod sursa (job #1977851) | Cod sursa (job #1974412) | Cod sursa (job #206232) | Cod sursa (job #299355)
Cod sursa(job #299355)
#include<fstream>
#include<algorithm>
#include<vector>
#include<math.h>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
long long n,k,nr,i,j,m,l,q,ma1,ma2;
vector<int> v;
vector<int> s;
bool comp(int i, int j)
{
return(v[i]<v[j]);
}
int main ()
{
in>>n>>m;
for(i=1;i<=n;i++)
{
in>>j;
v.push_back(j);
s.push_back(i-1);
}
sort(s.begin(),s.end(),comp);
l=n-m+1;
for(i=0;i<l;i++)
{
q=m;
if(s[i]<m-1)
q-=(m-s[i]-1);
if(s[i]>n-m)
q-=(s[i]-n+m);
ma1=0;
ma2=0;
for(j=0;j<i;j++)
{
if(s[j]-s[i]<m && s[j]-s[i]>0)
if((m-abs(s[j]-s[i]))>ma1)
ma1=(m-abs(s[j]-s[i]));
if(s[j]-s[i]>(-1)*m && s[j]-s[i]<0)
if((m-abs(s[j]-s[i]))>ma2)
ma2=(m-abs(s[j]-s[i]));
}
q-=ma1+ma2;
if(q>0)
nr+=q*v[s[i]];
}
out<<nr;
return 0;
}