Cod sursa(job #254703)

Utilizator silvia_the_bestSilvia Pripoae silvia_the_best Data 7 februarie 2009 13:48:31
Problema Cuburi2 Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 2 Marime 0.98 kb
#include <cstdio>
#define FIN "cuburi2.in"
#define FOUT "cuburi2.out"
#define N 250050
#define INF 1000000010
int n,m,v[N],sum[N];
void read()
{
     int i,x,y,j,min,k;
     long long s1,s2;
     freopen(FIN,"r",stdin);
     freopen(FOUT,"w",stdout);     
     scanf("%d%d", &n, &m);     
     for (i = 1; i <= n; ++i)
     {
          scanf("%d", &v[i]);
          sum[i] = sum[i - 1] + v[i];
     }
     for (i = 1; i <=m; ++i)
     {
           scanf("%d%d",&x,&y);
           min = INF;
           s1 = 0; s2 = 0;
           for (j = x; j < y; ++j)
                 s1 += sum[y] - sum[j];
           for (j = x; j <= y; ++j)
           {
               if (s2 + s1 < min)
               {
                 min = s2 + s1;
                 k = j;
               }
               s1 -= sum[y] - sum[j];
               s2 += sum[j]; 
           }  
           printf("%d %d\n", k,min);
     }
}
int main()
{
    read();
   //solve();
    //write();    
}