Cod sursa(job #1558484)

Utilizator Andrei143Andrei Andrei Andrei143 Data 29 decembrie 2015 11:02:59
Problema Cuburi2 Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
#include<string.h>
using namespace std;
int v[250000],n,t[250000];
void cauta(int x,int ls,int ld)
{
    for (int i=x-1;i>=ls;i--)
        t[x]+=(x-i)*v[i];
    for (int i=x+1;i<=ld;i++)
        t[x]+=(i-x)*v[i];
}
int main()
{
    ifstream f("cuburi2.in");
    ofstream g("cuburi2.out");
    int m,q,w;
    f>>n>>m;
    for (int i=0;i<n;i++)
    f>>v[i];

    for (int i=0;i<m;i++)
    {
        f>>q>>w;
        q-=1;
        w-=1;
        cauta (q,q,w);
        int min=q;
        for (int p=q+1;p<=w;p++)
        {cauta(p,q,w);
        if (t[p]<t[min]) min=p;}
        g<<min+1<<" "<<t[min];
        memset(t,0,50);
        g<<'\n';
    }
    return 0;
}