Cod sursa(job #1260048)

Utilizator ZeBuGgErCasapu Andreas ZeBuGgEr Data 10 noiembrie 2014 20:46:15
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.47 kb
#include <fstream>

using namespace std;

int main()
{
    ifstream fin("transport.in");
    ofstream fout("transport.out");

    int n,k;
    long int temp=0,temp2=0,sum=0,temp3=1,m=0;
    bool check=1;
    fin>>n>>k;
    int a[n];
    for(int i=0;i<n;i++)
    {
            fin>>a[i];
            fout<<"^ "<<a[i]<<'\n';
            if(m<a[i])
                {
                m=a[i];
                }
            sum+=a[i];
    }
    temp=(sum+m)/2;
    fout<<"& "<<m<<" "<<sum<<"   "<<temp<<'\n'<<'\n';
    while(1)
    {
        temp2=0;
        temp3=1;
                    for(int i=0;i<n;i++)
                    {
                    if(temp2+a[i]<=temp)
                        {
                        temp2+=a[i];
                        }
                    else{
                        temp2=a[i];
                        temp3++;
                        }
                    }
                    if(m==sum||m==temp||sum==temp||(sum-m)==1)
                        {
                        break;
                        }
                    if(temp3>k)
                        {
                        m=temp+1;
                        temp=(sum+m)/2;
                        }
                    else
                        {
                        sum=temp-1;
                        temp=(sum+m)/2;
                        }
                        fout<<"* "<<m<<" "<<sum<<"   "<<temp<<'\n';
    }
    fout<<sum;
}