Pagini recente » Cod sursa (job #1584825) | Cod sursa (job #150043) | Cod sursa (job #1704877) | Cod sursa (job #2279783) | Cod sursa (job #2108517)
#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<<" ";
}