Cod sursa(job #1038956)

Utilizator ephgstefana gal ephg Data 22 noiembrie 2013 12:04:02
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
#include<iostream>
using namespace std;

#define BM 100005

long long n,k,sol[BM],r;
int fol[BM],da[BM],dim,t;

int main (){
    int i,j;
    ifstream f("farfurii.in");
    ofstream g("farfurii.out");
    f>>n>>k;
    r=n*(n-1)/2;
    j=1;
    for(i=1;i<=n;++i){
        for(;j<=n;++j)if(!fol[j]&&r-(n-j)>=k){
            sol[i]=j;
            fol[j]=1;
            r-=(n-j);
            break;
        }
    }
    for(i=1;i<=n;++i)if(sol[i]==0){
        t=i-1;
        break;
    }
    for(i=n;i;--i)if(fol[i]==0)da[++dim]=i;
    for(i=1;i<=t;++i)g<<sol[i]<<' ';
    for(i=1;i<=dim;++i)g<<da[i]<<' ';
    return 0;
}