Cod sursa(job #1709247)

Utilizator UPT_RaindropsUPT Igna Sendroiu Pacurariu UPT_Raindrops Data 28 mai 2016 11:27:12
Problema Sate2 Scor 100
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.99 kb
#include <iostream>
#include <fstream>
#include <memory.h>
using namespace std;
int n,m,k,t,i,a[10001],x,o,ma=0,j,s,p;
void init()
{memset(a,0,sizeof(a));a[0]=-1;}
int main()
{
    ifstream fin("sate2.in");
    ofstream fout("sate2.out");
    fin>>t;
    for(i=1;i<=t;i++)
    {
        fin>>n>>m>>k;
        init();
        for(j=1;j<=n;j++)
        {
            fin>>x;
            a[x]++;
            if(x>ma)ma=x;
        }
        //for(j=1;j<=ma;j++)cout<<a[j]<<" ";
        for(j=1;j<=k;j++)
        {
            s=m/k;
            for(o=ma;o>=1;o--)
            {
                //for(p=1;p<=ma;p++)cout<<a[p]<<" ";
                //cout<<endl;
                while((a[o]>0)&&(s-o>=0))
                {
                    s=s-o;
                    a[o]--;
                    //cout<<s<<endl;
                }


            }
            while(a[ma]==0)ma--;
        }
        if(ma==0)fout<<"DA\n";
                else fout<<"NU\n";
    }
    fin.close();
    fout.close();
    return 0;
}