Cod sursa(job #2742932)

Utilizator HaesteinnSabau Florin Vlad Haesteinn Data 22 aprilie 2021 12:44:40
Problema Sate2 Scor 0
Compilator cpp-64 Status done
Runda acm_2017_ubb4 Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;

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


bool solve() {

    int n,m,k;
    fin>>n>>m>>k;

    vector<int> v;
    for(int i=0;i<n;i++) {
        int x;
        fin>>x;
        v.push_back(x);
    }

    sort(v.begin(), v.end(), greater<int>());

    int maxim=m/k;
    int sate[4]= {0};

    for(auto x:v) {
        for(int i=k-1; i>=0; i--) {
            if(sate[i]+x<=maxim) {
                sate[i]+=x;
                break;
            }
        }
        sort(sate,sate+k);
    }

    for(int i=0; i<k; i++) {
        if(sate[i] != maxim) return false;
    }
    return true;
}

int main()
{
    int t;
    fin>>t;

    while(t--) {
        if(solve()){
            fout << "DA\n";
        } else {
            fout << "NU\n";
        }
    }
    return 0;
}