Cod sursa(job #254667)

Utilizator katakunaCazacu Alexandru katakuna Data 7 februarie 2009 13:39:52
Problema Cuburi2 Scor 20
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 2 Marime 0.83 kb
//20 ptc
#include<stdio.h>
#define INF 1<<30
#include<string.h>
#include<algorithm>
using namespace std;

int xx,y,x,p,n,m,i,j,t,sol,v[251111];

int calc(int a,int b){
   int aux,rez = 0,mut = a;
   if(b > a){
      aux = a;
      a = b;
      b = aux;
   }

   rez = (a - b) *  v[mut];

return rez;
}

int main(){

   FILE *f=fopen("cuburi2.in","r");
   FILE *g=fopen("cuburi2.out","w");

   fscanf(f,"%d %d",&n,&m);

   for(i=1; i<=n; i++)
      fscanf(f,"%d",&v[i]);

   for(i=1; i<=m; i++){
   fscanf(f,"%d %d",&x,&y);
   sol= INF;
      for(t=1; t<=n; t++){
      xx=0;
         for(j=x;j<=y;j++){
         xx+=calc(j,t);
         }

         if(xx < sol){
         sol=xx;
         p=t;
         }
      }

   fprintf(g,"%d %d\n",p,sol);
   }
   

   fclose(f);
   fclose(g);
   return 0;
}