Pagini recente » Cod sursa (job #897892) | Cod sursa (job #1437430) | Cod sursa (job #3218550) | Cod sursa (job #1024410) | Cod sursa (job #1249482)
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int n, k, v[50500], p, u, st, dr, i, D[50500], s,secv;
int main()
{
int max = -2000000000;
fin >> n >> k;
for(i = 1; i<= n; i ++){
fin >> v[i];
while(p <= u && v[i] < v[D[u]]){
u --;
}
D[++u] = i;
secv ++;
s += v[D[u]];
while(i - D[p] + 1 >= k && s - v[D[p]] >= s){
s -= v[D[p]];
p ++;
secv -= D[p] - D[p - 1];
}
if(i >= k)
if(s > max){
max = s;
st = D[u] - secv + 1;
dr = D[u];
}
}
fout << st << " "<< dr << " " << max;
return 0;
}