Cod sursa(job #1644119)

Utilizator Athena99Anghel Anca Athena99 Data 9 martie 2016 21:35:56
Problema Bilute Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;

ifstream fin("bilute.in");
ofstream fout("bilute.out");

const int nmax= 30000;

int c[nmax+1], l[nmax+1], s[nmax+1];

int main(  ) {
    int n, sum= 0;
    fin>>n;
    for ( int i= 1; i<=n; ++i ) {
        fin>>c[i]>>l[i];

        s[i]= s[i-1]+c[i];
        sum= sum+l[i]*c[i];
    }

    int x= 1, y= 0, minim= 0;
    for ( int i= 1; i<=n; ++i ) {
        y= y+c[i]*(i-1);
    }
    minim= y+sum-l[1]*c[1];
    for ( int i= 2; i<=n; ++i ) {
        y= y+s[i-1]*2-s[n];
        if ( y+sum-l[i]*c[i]<minim ) {
            x= i;
            minim= y+sum-l[i]*c[i];
        }
    }

    fout<<x<<" "<<minim<<"\n";

    return 0;
}