Pagini recente » Cod sursa (job #155918) | Cod sursa (job #152297) | Cod sursa (job #1184857) | Cod sursa (job #2339639) | Cod sursa (job #1709372)
#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;
}