Cod sursa(job #1644129)

Utilizator Athena99Anghel Anca Athena99 Data 9 martie 2016 21:37:28
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;

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

typedef long long i64;

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];
    }

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

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

    return 0;
}