Pagini recente » Cod sursa (job #3187694) | Cod sursa (job #671802) | wat | Cod sursa (job #706296) | Cod sursa (job #717925)
Cod sursa(job #717925)
#include <stdio.h>
#include <fstream>
using namespace std;
long long min(long long x,long long y)
{
long long aux;
if(x>y){aux=y;}
else{aux=x;}
return aux;
}
FILE *f,*g;
char c;
long long n,k,i,r,a[100002],mem,j;
int main()
{
ifstream f("farfurii.in");
g=fopen("farfurii.out","w");
f>>n;
while(f>>c){
k=k*10+(c-'0');
}
i=n;
while(k){
r=min(n-i,k);
a[i]=r;
k-=r;
i--;
if(k==0){mem=i+1;}
}
k=1;a[0]=10000000;
while(a[k]==0){a[k]=k;k++;}
r=mem;
for(j=n;j>r;j--){
if(a[mem]==a[j]){a[mem]=k;k++;mem=0;}
a[j]=k;
k++;
}
if(mem){a[mem]=k;}
for(i=1;i<=n;i++){fprintf(g,"%lld ",a[i]);}
f.close();fclose(g);
}