Pagini recente » Cod sursa (job #1939353) | Cod sursa (job #710108) | Cod sursa (job #551996) | Cod sursa (job #2659351) | Cod sursa (job #2929255)
#include<fstream>
#include<algorithm>
#include<vector>
#include<cstring>
#include<cmath>
//#include<iostream>
using namespace std;
ifstream cin("transport.in");
ofstream cout("transport.out");
int a[16005];
int cautare(long long int st,long long int dr,int n)
{
long long int i,step,s=0,dim=0;
for(step=1;step<=n;step<<=1);
for(i=0;step;step>>=1)
{
s=0;
for(int j=i+1;j<=n;j++)
{
s+=a[j];
}
if(i+step<=n&&s>=st&&s<=dr)
{
i+=step;
dim+=s;
}
}
return i;
}
int main() {
int n,p,mini=0,maxi=0;
cin>>n>>p;
for(int i=1;i<=n;i++)
{
cin>>a[i];
maxi+=a[i];
mini=max(mini,a[i]);
}
int j=cautare(mini,maxi,n);
int s=0;
for(int i=j; i<j+p;i++)
s+=a[i];
cout<<s;
}