Cod sursa(job #3147920)

Utilizator IlieMarius05Ilie Marius Cristian IlieMarius05 Data 28 august 2023 07:41:39
Problema Transport Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int main()
{int N, K, Saltele[16001], SalteaMax=-999, SalteleSuma=0, i=0, j=0, Transporturi=1, SumaTransport=0, SumaTotala=0;
    f>>N>>K;
    for(i=0; i<N; i++)
    {
        f>>Saltele[i];
        SalteleSuma=SalteleSuma+Saltele[i];
        if(SalteaMax<Saltele[i])
        {
            SalteaMax=Saltele[i];
        }
    }
    if(K>=N)
    {
        g<<SalteaMax;
        return 0;
    }
    j=SalteaMax-1;
    while((SumaTotala!=SalteleSuma)&&(Transporturi!=K))
    {   j++;
        i=0;
        Transporturi=1;
        SumaTotala=0;
        SumaTransport=0;
        while(i<N)
        {
            if(j>=SumaTransport+Saltele[i])
            {
                SumaTransport=SumaTransport+Saltele[i];
                i++;
            }
            else
            {
                Transporturi++;
                SumaTotala=SumaTotala+SumaTransport;
                SumaTransport=0;
            }
        }
        if(SumaTransport>j*2)
            j=j*2;

    }
    g<<j;
    return 0;
}