Cod sursa(job #2146749)

Utilizator jitaruandreiJitaru Andrei Catalin jitaruandrei Data 28 februarie 2018 10:33:24
Problema Cuburi2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <bits/stdc++.h>

using namespace std;

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

long long n, m, i, x, y,k,nr,mi,z,a,b;
long long v[250001];

int mij(int x,int y,int mi)
{
    nr=0;
   for(i=x;i<mi;i++)
    nr+=(i-x+1)*v[i];
   for(i=mi+1;i<=y;i++)
    nr+=(y-i)*v[i];
    if(nr>0)return nr;
    return 1000000;
}

int main()
{
    fin>>n>>m;
    //cout<<m;
    for(i=1;i<=n;i++)
        //{
            fin>>v[i];
            //cout<<v[i]<<" ";
        //}
        //cout<<endl;
    for(z=1;z<=m;z++)
    {
        fin>>x>>y;
        //cout<<x<<" "<<y<<" ";
        //cout<<endl;
        mi=(x+y)/2;
            if((x+y)%2==0)
            {
                k=mij(x,y,mi);
                //cout<<" a "<<k<<" ";
            }
                else
                {
                    a=mij(x,y,mi);
                    //cout<<" b "<<a<<" ";
                    b=mij(x,y,mi+1);
                   // cout<<" b "<<b<<" ";
                    k=min(a,b);
                    //cout<<k<<" ";
                }
            if((x+y)%2==0)fout<<mi<<" "<<k<<endl;
                else fout<<mi+1<<" "<<k<<endl;
        //cout<<i<<" ";
    }
    return 0;
}