Cod sursa(job #585722)

Utilizator PatrikStepan Patrik Patrik Data 30 aprilie 2011 11:24:42
Problema Fabrica Scor 10
Compilator cpp Status done
Runda Algoritmiada 2011, Runda Finală, Clasele 5-9 Marime 0.99 kb
	#include<stdio.h>
	#include<algorithm>
	using namespace std;
	#define MAX 100001
	FILE *f , *g ;
	long n , k , v[MAX] , p[MAX] , nr  , proc;
	long long t;
	
	void citire();
	void sortare();
	void copy();
	void solve();
	void tipar();
	
	int main()
	{
		citire();
		sortare();
		copy();
		solve();
		tipar();
		return 0;
	}
	
	void citire()
	{
		f=fopen("fabrica.in" , "r" );
		fscanf(f , "%ld%ld%ld" , &n , &k , &nr );
		for ( long i = 1 ; i<= k ; ++i )
			fscanf(f , "%ld" , &v[i] );
		fclose(f);
	}
	
	void sortare()
	{
		sort(v+1 , v+k+1 );
	}
	
	void copy()
	{
		for ( long i = 1 ; i<= k ; ++i )
			p[i] = v[i] ;
	}
	
	void solve()
	{
		int sw = 1;
		while(sw)
		{
			t++;
			for (long i = 1 ; i<= k ; ++i )
			{
				if(p[i] <= t )
				{
					proc++;
					p[i]+=v[i];
				}
				if(proc == n)
				{
					sw = 0;
					break;
				}
			}
		}
	}
	
	void tipar()
	{
		g=fopen("fabrica.out" , "w" );
		fprintf(g , "%lld " , t );
		fclose(g);
	}