Cod sursa(job #2055463)
| Utilizator | Data | 3 noiembrie 2017 11:26:01 | |
|---|---|---|---|
| Problema | Progresii | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <iostream>
#include<fstream>
using namespace std;
int main(){
long long k, l, n, m, p[100000], v[100000], nr(0);
ifstream f("progresii.in");
ofstream g("progresii.out");
f>>n>>m>>k>>l;
for (int i=1; i<=n; i++){
f>>p[i];
nr+=(l-p[i])/m+1;
v[i]=m;
}
if (nr>k){
g<<"-1";
return 0;
}
for (int i=1; i<=n; i++){
nr=nr-(l-p[i])/m-1;
v[i]=(l-p[i])/(k-nr)+1;
nr=nr+(l-p[i])/v[i]+1;
g<<v[i]<<'\n';
}
return 0;
}
