Cod sursa(job #251890)

Utilizator Andreid91Ciocan Andrei Andreid91 Data 3 februarie 2009 16:06:26
Problema Plus Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream.h>
#include<math.h>

long long  s,i,nr[4],a,b;

long long l;

long long min(long long a, long long b)
	{
	if (a<b) return a;
		else return b;
        }

int main()
{
ifstream f("plus.in");
f>>s;
for (i=1;i<=3;i++)
	{
	f>>a>>b;
	nr[b+1]+=a;
	}
f.close();
ofstream g("plus.out");
if (s==0)
	{
	if (nr[0]<nr[2]) l=nr[0];
			else l=nr[2];
	l=(min(nr[2],nr[0])+1)*(nr[1]+1);
	}
     else
	{
	int sw=0;
	if ((s>0) && (nr[2]>=s)) {
				nr[2]-=s;
				s=0;
				sw=1;
				}
		else if ((s<0) && (abs(s)<=nr[0])) {
						  nr[0]+=s;
						  s=0;
						  sw++;
						  }
	if (sw) l=(min(nr[0],nr[2])+1)*(nr[1]+1);
	}
g<<l;
g.close();
return 0;
}