Cod sursa(job #713855)

Utilizator bacilaBacila Emilian bacila Data 15 martie 2012 00:48:30
Problema Lapte Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
int l,n,k,p,a[103],b[103],c[103][103],v[103][103];
ofstream g("lapte.out");
void afisare(int x, int y)
{ if(x)
{afisare(x-1,v[x][y]);
g<<y-v[x][y]<<" "<<c[x][y]-c[x-1][v[x][y]]<<'\n';
       }
     }
int main ()
{int i,j;
    ifstream f("lapte.in");
 
 f>>n>>l;
 for(i=1;i<=n;i++)
 f>>a[i]>>b[i];
 for(i=1;i<=100;i++)
 {for(p=1;p<=n;p++)
 for(j=0;j<=l;j++)
 c[p][j]=0;
 for(p=1;p<=n;p++)
 for(j=0;j<=l;j++)
 for(k=0;k<=j;k++)
 if((i-(j-((c[p-1][k])?k:0))*a[p])>=0&&(c[p][j]<c[p-1][k]+(i-(j-((c[p-1][k])?k:0))*a[p])/b[p]))
 {c[p][j]=c[p-1][k]+(i-(j-((c[p-1][k])?k:0))*a[p])/b[p];
 v[p][j]=k;
 }
 if(c[n][l]>=l) break;
 }
 g<<i<<'\n';
afisare(n,l);
 f.close(); g.close();
return 0;
}