Cod sursa(job #2035240)

Utilizator toadehuPuscasu Razvan Stefan toadehu Data 9 octombrie 2017 09:28:20
Problema Schi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.4 kb
#include <fstream>
using namespace std;
int a[100001],b[100001],n;
unsigned long long sum;
int main()
{
    ifstream fin("hacker3.in");
    ofstream fout("hacker3.out");
    fin>>n;
    short int n1=n/4,n2=n%4;
    for(short int i=1; i<=n1; i++)
    {
        fin>>a[i]>>b[i];
    }
    for(short int i=1; i<=n1; i++)
    {
        fin>>a[i+n1]>>b[i+n1];
    }
    for(short int i=1; i<=n1; i++)
    {
        fin>>a[i+n1*2]>>b[i+n1*2];
    }
    for(short int i=1; i<=n1+n2; i++)
    {
        fin>>a[i+n1*3]>>b[i+n1*3];
    }
    for(short int i=n1+n2; i>0; i--)
    {
        if(sum*2+a[i+n1*3]>=sum+b[i+n1*3])
        {
            sum=sum+b[i+n1*3];
        }
        else
        {
            sum=sum*2+a[i+n1*3];
        }
    }
    for(short int i=n1; i>0; i--)
    {
        if(sum*2+a[i+n1*2]>=sum+b[i+n1*2])
        {
            sum=sum+b[i+n1*2];
        }
        else
        {
            sum=sum*2+a[i+n1*2];
        }
    }
    for(short int i=n1; i>0; i--)
    {
        if(sum*2+a[i+n1]>=sum+b[i+n1])
        {
            sum=sum+b[i+n1];
        }
        else
        {
            sum=sum*2+a[i+n1];
        }
    }
    for(short int i=n1; i>0; i--)
    {
        if(sum*2+a[i]>=sum+b[i])
        {
            sum=sum+b[i];
        }
        else
        {
            sum=sum*2+a[i];
        }
    }
    fout<<sum;
    return 0;
}