Cod sursa(job #2154703)

Utilizator Justice88Tirisi Claudiu Justice88 Data 7 martie 2018 10:43:06
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
#include<limits.h>
using namespace std;
ifstream f("ssm.in");
ofstream o("ssm.out");
int n, a[60000001], maxx, maxc, start, endd, s=0, k, minn;
bool poz=0;
void citire(){
f>>n>>k;
f>>a[0];
minn=a[0];
if(minn>=0) poz=0;
for(int i=1;i<n;i++){
f>>a[i];
if(a[i]>minn){
minn=a[i];
}
if(a[i]>=0){
poz=1;
}
}
}
void kadane(){
maxx=INT_MIN;
maxc=0;
for(int i=0;i<n;i++){
maxc+=a[i];
if(maxx<maxc){
start=s;
endd=i;
if((endd-start)>=k){
maxx=maxc;
}
}
if(maxc<0){
maxc=0;
s=i+1;
}
}
}
void afisare(){
if(!poz){
maxx=minn;
}
o<<++start<<" "<<++endd<<" "<<maxx;
}
int main(){
citire();
kadane();
afisare();
}