Cod sursa(job #2108517)

Utilizator VoineaAndreiVoinea Ioan-Andrei VoineaAndrei Data 18 ianuarie 2018 14:38:30
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <bits/stdc++.h>
using namespace std;

#define n_Max 100000

ifstream f("farfurii.in");
ofstream g("farfurii.out");

bool v[n_Max+5]; //vector de frecventa


int main(){

    unsigned long long n,k,l,i;
    f>>n>>k;
    l=n;

    //parcurgem vectorul pana gasim locatia minima unde trebuie sa apara prima pereche
    for(i=1;i<=n;i++){
        l--;
        if(l*(l-1)/2<=k)
            break;
        g<<i<<" ";
        v[i]=1;
    }

    //variabila pentru nr de tacamuri
    unsigned long long val;
    val=l*(l-1)/2;

    //afisam farfuriile necesare pentru a ajunge la k tacamuri
    for(int j=i;j<=n;j++){
        if(val+j-i==k){
            g<<j<<" ";
            v[j]=1;
            break;
        }
    }

    //afisam restul vectorului
    for(int j=n;j>=1;j--)
        if(v[j]==0)
            g<<j<<" ";


}