Cod sursa(job #2184161)

Utilizator ivddabDabelea Ioana-Viviana ivddab Data 23 martie 2018 19:30:57
Problema Cuburi2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#define NM 250003
using namespace std;
ifstream f("cuburi2.in");
ofstream g("cuburi2.out");
int n,m,i,j,x,y,min1,sum,poz;
int s[NM],d[NM],a[NM],S[NM],D[NM];
int main()
{
    f>>n>>m;
    for(i=1;i<=n;i++) f>>a[i];
    sum=0;
    for(i=1;i<=n;i++) { sum+=a[i]; s[i]=s[i-1]+sum; S[i]=sum; }
    sum=0;
    for(i=n;i>=1;i--) { sum+=a[i]; d[i]=d[i+1]+sum; D[i]=sum; }
    for(i=1;i<=m;i++){
        f>>x>>y;
        min1=s[n]+d[1];
        for(j=x;j<=y;j++){
            if(j==x) sum=(d[j+1]-d[y+1]-D[y+1]);
              else
            if(j==y) sum=(s[j-1]-s[x-1]-S[x-1]);
              else   sum=(s[j-1]-s[x-1]-S[x-1])+(d[j+1]-d[y+1]-D[y+1]);
            if(sum<min1) { min1=sum; poz=j; }
        }
        g<<poz<<' '<<min1<<'\n';
    }
    return 0;
}