Cod sursa(job #1808533)
Utilizator | Soos Marton martons | Data | 17 noiembrie 2016 20:05:33 |
---|---|---|---|
Problema | Secventa 2 | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.85 kb |
#include <fstream>
#include <climits>
using namespace std;
int n, k, v[50005];
int bs=0, be=0;
long long bsum=LONG_LONG_MIN;
int main()
{
ifstream in("secv2.in");
in>>n>>k;
for(int i=0;i<n;i++){
in>>v[i];
}
int s=0;
long long sum=0;
for(int i=0;i<n;i++){
if(i<k){
sum+=v[i];
}
else {
if(sum + v[i] <= sum - v[s] + v[i]){
sum -= v[s];
s++;
}
sum+= v[i];
if(sum>bsum){
bs = s+1;
be = i+1;
bsum = sum;
}
}
if(i == k-1){
bs = s+1;
be = i+1;
bsum = sum;
}
}
ofstream out("secv2.out");
out<<bs<<" "<<be<<" "<<bsum;
return 0;
}