Cod sursa(job #2563026)

Utilizator SergiuS3003Sergiu Stancu Nicolae SergiuS3003 Data 29 februarie 2020 21:48:16
Problema Bilute Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ( "bilute.in" );
ofstream g ( "bilute.out" );
const int NMAX = 30002;
long long mn, C[NMAX], SPC[NMAX], L[NMAX], M[NMAX];
int main()
{
    int n, c, poz;
    f >> n;

    for ( int i = 1; i <= n; i++ )
    {
        f >> C[i] >> L[i];
        SPC[i] = SPC[i - 1] + C[i];
    }

    for ( int i = 2; i <= n; i++ )
        M[1] += L[i] * C[i] + ( i - 1 ) * C[i];

    mn = M[1];
    poz = 1;

    for ( int i = 2; i <= n; i++ )
    {
        M[i] = M[i - 1] - L[i] * C[i] + L[i - 1] * C[i - 1] - ( SPC[n] - SPC[i - 1] ) + SPC[i - 1];

        if ( M[i] < mn )
        {
            mn = M[i];
            poz = i;
        }
    }

    g << poz << ' ' << mn;
    return 0;
}