Cod sursa(job #488549)

Utilizator johnny2008Diaconu Ion johnny2008 Data 29 septembrie 2010 10:00:07
Problema Lapte Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include<fstream>
using namespace std;
int a[101][3];
int baut[101][3];
short ok[101];
int main(){
	int n,l;
	ifstream f("lapte.in");
	ofstream g("lapte.out");
	f>>n>>l;
	int i;
	int na=0,nb=0;
	for(i=1;i<=n;i++){
		f>>a[i][0]>>a[i][1];
		if(a[i][0]<a[i][1]){
			na++;
			ok[i]=1;
		}
		else{
			if(a[i][0]>a[i][1]){
				nb++;
				ok[i]=2;
			}
		}
			
	}
	
	for(i=1;i<=n;i++){
		if(ok[i]==0){
			if(na>nb){
				nb++;
				ok[i]=2;
			}
			else{
				na++;
				ok[i]=1;
			}
		}
	}
	
	int ca=0,cb=0,j,t=0;
	while(ca<l || cb<l){
		t++;
		for(i=1;i<=n ;i++){
			a[i][2]++;
			if(ok[i]==1){
				if(ca>=l){
					ok[i]=2;
					
				}
			}
			if(ok[i]==2){
				if(cb>=l){
					ok[i]=1;
					
				}
			}
			if(ok[i]==1 && a[i][2]>=a[i][0]){
				ca++;
				a[i][2]=0;
				baut[i][0]++;
				cout<<i<<" a baut A la timpul "<<t<<" statistica "<<ca<<" "<<cb<<"\n";
			}
			else{
				if(ok[i]==2 && a[i][2]>=a[i][1]){
					cb++;
					a[i][2]=0;
					baut[i][1]++;
					cout<<i<<" a baut B la timpul "<<t<<" statistica "<<ca<<" "<<cb<<"\n";
				}
			}
		}
	}
	g<<t<<"\n";
	
	for(i=1;i<=n;i++){
		g<<baut[i][0]<<" "<<baut[i][1]<<"\n";
	}
	return 0;
}