Pagini recente » Cod sursa (job #1067808) | Cod sursa (job #3180700) | Cod sursa (job #1975858) | Cod sursa (job #3137085) | Cod sursa (job #1709317)
#include <fstream>
#include <algorithm>
#include <string.h>
using namespace std;
ifstream f("sate2.in");
ofstream q("sate2.out");
int pozMin(int st[4], int k){
int poz = 0, min = st[0];
for (int i = 1 ; i <k; i++){
if (min > st[i]){
min = st[i];
poz = i;
}
}
return poz;
}
int main()
{
int st[4], catune[3010], n, t, m, k, poz;
bool ok;
f>>t;
for(;t>0;t--){
f>>n>>m>>k;
memset(st,0,4*sizeof(int));
ok = true;
for (int i = 0; i < n; i++) f>>catune[i];
if (m % k != 0) q<<"NU\n";
else{
sort(catune,catune+n);
for (int i = n-1; i> 0; i--){
poz = pozMin(st,k);
st[poz] += catune[i];
if (st[poz] > m / k){
q<<"NU\n";
ok = false;
break;
}
}
if(ok) q<<"DA\n";
}
}
f.close();
q.close();
return 0;
}