Pagini recente » Cod sursa (job #527867) | Cod sursa (job #1320165) | Cod sursa (job #3127507) | Cod sursa (job #564993) | Cod sursa (job #630233)
Cod sursa(job #630233)
#include <fstream>
using namespace std;
ifstream f("progresii.in");
ofstream g("progresii.out");
unsigned long long n,m,s,c[100002],b[100002],a[100002],li,co,L,nn,i,si,p,kk;
int main()
{f>>n>>m>>li>>L;
nn=n;
for(i=1;i<=n;i++) f>>a[i];
for(i=1;i<=n;i++) b[i]=1;
for(i=1;i<=n;i++){c[i]=L-a[i]+1;s=s+c[i];}
while (0==0)
if (s>li)
{si=s;
kk=c[n];
co=c[n];
b[n]=m;
c[n]=c[n]/m+1;
n--;
s=s-(kk-c[n+1]);
}
else
{n++;
s=si;
p=1;
while(s>li&&p<=m)
{p++;s=si;
s=s-co/p;}
b[n]=p;
break;
}
for(i=1;i<=nn;i++) g<<b[i]<<" ";
f.close();
g.close();
return 0;
}