Cod sursa(job #3222534)
Utilizator | ioan herbil ionutherbil310 | Data | 10 aprilie 2024 18:49:29 |
---|---|---|---|
Problema | Sate2 | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva ICPC | Marime | 0.97 kb |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("");
ofstream fout("");
int main() {
int t;
fin >> t;
while (t--) {
int n, m, k;
fin >> n >> m >> k;
vector<int> v(n);
for (int i = 0; i < n; ++i)
fin >> v[i];
if (m % k != 0) {
fout << "NU\n";
continue;
}
for (int j = 0; j < k; ++j) {
int i = n - 1;
int s = 0;
do {
if (v[i] != -1) {
if (s + v[i] <= m / k) {
s += v[i];
v[i] = -1;
}
}
i--;
} while (i >= 0 && s < m / k);
if (s != m / k) {
fout << "NU\n";
goto next_case;
}
}
fout << "DA\n";
next_case:;
}
return 0;
}