Cod sursa(job #137390)

Utilizator FlorianFlorian Marcu Florian Data 17 februarie 2008 11:54:17
Problema Garaj Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 4, Clasa a 10-a Marime 0.67 kb
#include<stdio.h>
#define Max 100003
#include<stdlib.h>
FILE*f=fopen("garaj.in","r");
FILE*g=fopen("garaj.out","w");
int M,n,t[Max],c[Max],tsol,max=1;
void read()
  {
  fscanf(f,"%d %d",&n,&M);
  int i;
  for(i=1;i<=n;++i) fscanf(f,"%d %d",&c[i],&t[i]);
  }
int ok(int T)
  {
  int i,k,cc=0,count=0;
  for(i=n;i>=1;--i)
    {
    k=1;
    if(2*t[i]<=T) count++;
    while(k*2*t[i]<=T)
      {
      cc+=c[i];
      if(cc>=M) {max=count;return 1;}
      ++k;
      }

    }
  return 0;
  }

void solve()
  {
  int i,x;
  i=1;
  while(!ok(i))  ++i;
  tsol=i;
  fprintf(g,"%d %d\n",tsol,max);
  }
int main()
  {
  read();
  solve();
  return 0;
  }