Pagini recente » Cod sursa (job #274122) | Cod sursa (job #274240) | Cod sursa (job #1768801) | Cod sursa (job #483162) | Cod sursa (job #48234)
Cod sursa(job #48234)
#include <stdio.h>
FILE *fout = fopen("secv2.out", "w");
short n, k, a[50001];
long sum[50001];
void tip(){
for(short i=1; i<=n; i++)
fprintf(fout, "%li ", sum[i]);
}
void solve(){
long max=-1250000000;
short i, pozmax=0, start, end;
FILE *fin = fopen("secv2.in", "r");
fscanf(fin, "%hi %hi", &n, &k);
for(i=1; i<=n; i++){
fscanf(fin, "%hi", &a[i]);
if(i == 1)
sum[i] = a[i];
else
sum[i] = sum[i-1]+a[i];
if(sum[i] > max){
max = sum[i];
pozmax = i;
}
}
end = pozmax;
start = pozmax-k;
// tip();
for(i=pozmax-k-1; i>=1; i--)
if(sum[end]-sum[i] > sum[end]-sum[start])
start = i;
if(k == n)
fprintf(fout, "%hi %hi %li", 1, n, sum[n]);
else
fprintf(fout, "%hi %hi %li", start+1, end, sum[end]-sum[start]);
fclose(fin);
}
int main(){
solve();
fclose(fout);
return 0;
}