Cod sursa(job #45773)

Utilizator me_andyAvramescu Andrei me_andy Data 1 aprilie 2007 21:04:28
Problema Shop Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb

#include<fstream.h>

 double s,a[500],b[500],aux,contor[5000],m1;

int main()
{
 int k,n,c1,m,j,aux1,c[1000];
 int i;
 ifstream f("shop.in");
 ofstream g("shop.out");
  f>>n;
  f>>m;
  f>>s;
 for(i=1;i<=n;i++)
 {
  f>>a[i];
  f>>b[i];
  c[i]=i;
 }
 for(i=1;i<n;i++)
 for(j=i;j<=n;j++)
 {
  if(a[i]<a[j])
  {
	aux=a[i];
	a[i]=a[j];
	a[j]=aux;
	aux=b[i];
	b[i]=b[j];
	b[j]=aux;
	aux1=c[i];
	c[i]=c[j];
	c[j]=aux1;
  }
 }
 m1=m;
 for(i=1;i<=n;i++)
 {
  c1=0;
  m=1;
	 for(k=1;k<=a[i];k++)
  m=m*m1;
 while(s-m>0 && b[i]>0)
  {
	s=s-m;
	c1++;
	if(s-m==0)
	{
	  s=0;
	 c1++;
	 break;
	 }
	b[i]--;
  }
	if(s-m==0)
	{
	 c1++;
	 s=0;
	}

  contor[c[i]]=c1;
 }
 s=0;
 for(i=1;i<=n;i++)
	s+=contor[i];
 g<<s<<"\n";
 for(i=1;i<=n;i++)
  g<<contor[i]<<" ";
 return 0;
}