Nu aveti permisiuni pentru a descarca fisierul grader_test7.ok
Cod sursa(job #1360097)
| Utilizator | Data | 25 februarie 2015 11:37:11 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
#include <values.h>
using namespace std;
int main()
{int sum[60000],a[60000], min,i,bestSum,N,p2,j,p1;
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>N;f>>a[0];bestSum=a[0];
for(i=1;i<N;i++){f>>a[i];if(a[i]<bestSum)bestSum=a[i];}
sum[0] = 0;
for (i = 1; i <N; i++) sum[i] = a[i] + sum[i-1];
min = sum[0];
for (i = 1; i < N; i++)
{ p1= sum[i] - min;
if (min > sum[i]) min = sum[i];
if (bestSum < p1)
bestSum = p1;
}
for (i = 0; i < N-1; i++)
for (j = i+1; j < N; j++)
if(sum[j]-sum[i-1]==bestSum){p1=i+1;p2=j+1;break;}
g<<bestSum<<" "<<p1<<" "<<p2;
return 0;
}
