Cod sursa(job #1012300)

Utilizator Emanuel9Dumitru Emanuel Cristian Emanuel9 Data 18 octombrie 2013 17:35:58
Problema Subsecventa de suma maxima Scor 15
Compilator c Status done
Runda Arhiva educationala Marime 0.89 kb
//Secventa de elemente consecutive de suma maxima
#include <stdio.h>
#include <stdlib.h>
int v[6000000],n=1;
FILE *in;
void Citeste(int v[],int file){
    in = fopen("ssm.in","r");
    int i;
    fscanf(in,"%d",&n);
    for(i=1;i<=n;i++)
      fscanf(in,"%d",&v[i]);
    fclose(in);
}
void Rezolva (int v[],int n)
{
    in = fopen("ssm.out","w");
    int k;
    int s;
    int sm=v[1]+v[2];
    int smi1,smi2;
    int t1,t2;
    int i;

    for(k=2;k<=n;k++){
        t1=1;t2=k;
        while(t1<=n-k+1){
            s=0;
            for(i=t1;i<=t2;i++)
                s+=v[i];
            if(s>=sm){
                sm=s;
                smi1=t1;
                smi2=t2;
            }
            t1++;
            t2++;
        }
    }
    fprintf(in,"%d %d %d",sm,smi1,smi2);
    fclose(in);
}
int main()
{
    Citeste(v,n);
    Rezolva(v,n);
    return 0;
}