Pagini recente » Cod sursa (job #1887502) | Cod sursa (job #820396) | Cod sursa (job #215780) | Cod sursa (job #85409) | Cod sursa (job #241706)
Cod sursa(job #241706)
#include <stdio.h>
#define MAX 50000
FILE *intrare, *iesire;
int n, k, v[MAX];
void citire();
void rez();
int main()
{
iesire = fopen("secv2.out", "w");
citire();
rez();
fclose(iesire);
return 0;
}
void citire()
{
intrare = fopen("secv2.in", "r");
fscanf(intrare, "%d %d", &n, &k);
int i;
for(i=1; i<=n; i++)
fscanf(intrare, "%d", &v[i]);
fclose(intrare);
}
void rez()
{
int in, sf, sum, sumf, ko, i;
sum = sumf = ko = 0;
in = sf = 0;
for(i=1; i<=n; i++)
{
if(ko == 0)
in = i;
if(v[i] > 0)
sum += v[i], ko++;
if(v[i] < 0)
{
if(sum + v[i] + v[i+1] > sum)
sum += v[i], ko++;
else if(ko >= k && sum > sumf)
{
sumf = sum;
sum = 0;
sf = i-1;
ko = 0;
}
else
{
sum = 0;
ko = 0;
}
}
}
fprintf(iesire, "%d %d %d", in, sf, sumf);
}