Pagini recente » Cod sursa (job #1117935) | Cod sursa (job #1936096) | Cod sursa (job #2936428) | Cod sursa (job #1018120) | Cod sursa (job #1709492)
#include <fstream>
#include <iostream>
#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] ;
int N , M , K ;
int Sum;
int part[5];
int main ( void )
{
int i , j , l ;
in >> T;
for ( i = 1 ; i <= T ; ++i){
part[1] = part[2] = part[3] = part[4] = part[5] = 0 ;
in >> N >> M >> K ;
Sum = M /K;
for ( j = 1 ; j <= N ; ++j ){
in >> v[j];
}
int count = 0 , nr_used = 0 ,actualSum = 0 ;
sort ( v + 1 , v + N + 1 );
for ( j = N ; j > 0 ; --j ){
for ( l = 1 ; l <= K ; ++l ){
if ( v[j] + part[l] <= Sum ) {
part[l] += v[j] ;
//cout << "partitia " << l << " suma : " << part[l] << "\n";
break;
}
}
}
for ( j = 1 ; j <= K ; ++j ){
//cout << part[j] << " ";
if ( part[j] == Sum )
++count;
}
//cout << " \ngata testul\n";
if ( count == K && K*part[1] == M )
out << "DA\n";
else
out << "NU\n";
}
return 0;
}