Cod sursa(job #1709372)

Utilizator UPT_sThorUPT sThor UPT_sThor Data 28 mai 2016 11:59:58
Problema Sate2 Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.87 kb
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>

#define NMAX 3005

using namespace std;

ifstream in ( "sate2.in" );
ofstream out ( "sate2.out" );

int T;
int v[NMAX] , frecv[NMAX];
int N , M , K ;
int Sum;

int main ( void )
{
  	int i , j ;	
	in >> T;
	for ( i = 1 ; i <= T ; ++i){
	
	in >> N >> M >> K ;
	Sum = M /K;
	for ( j = 1 ; j <= N ; ++j ){
		in >> v[j];
		++frecv[v[j]];
	}
	int count = 0 , nr_used = 0 ,actualSum = 0  ;
	sort ( v + 1 , v + N + 1 );
	while ( count < 3 || nr_used < N )
	for ( j = N ; j >= 1 ; --j ){
          if ( v[j] + actualSum == Sum ) 
		{
		 	++nr_used;
			++count;
			--frecv[v[j]];
			actualSum = 0;
		}
	else 		
		if ( v[j]  + actualSum < Sum ){
                  actualSum += v[j];
		  --frecv[v[j]];	
		++nr_used;
	   }
	
	}
 		
	if ( count == K )
		out << "DA\n";
	else 
		out << "NU\n";
	
     }
        return 0;
}