Cod sursa(job #3256026)

Utilizator stefan_praleaStefan Pralea stefan_pralea Data 12 noiembrie 2024 23:21:27
Problema Transport Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;

short int v[16000];

int main(){
    ifstream fin("transport.in");
    ofstream fout("transport.out");
    int i, n, k;
    float medie, maxs=0, s=0, c;

    fin >> n >> k;
    for(i=0;i<n;i++){
        fin >> v[i];
        s+=v[i];
    }
    medie = s/k;

    i=0;
    while(i<n){
        for(s=0, c=0; s<medie && i<n;){
            s+=v[i];
            i++;
            c++;
        }

        if(c>1){
            if(s-medie > medie-(s-v[i-1])){
                i--;
                if(maxs<s-v[i])
                    maxs=s-v[i];
            }
            else{
                if(maxs<s)
                    maxs=s;
            }
        }
        else{
            if(maxs<s)
                maxs=s;
        }
    }
    fout << maxs << endl;
}