Cod sursa(job #1853046)
Utilizator | Linca Robert robx12ln | Data | 21 ianuarie 2017 13:21:51 |
---|---|---|---|
Problema | Progresii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include<fstream>
using namespace std;
ifstream fin("progresii.in");
ofstream fout("progresii.out");
int n, m, v[100005], sol[100005];
long long k, l, nr;
int main(){
fin >> n >> m >> k >> l;
nr = 0;
for( int i = 1; i <= n; i++ ){
fin >> v[i];
nr += ( l - v[i] ) / m + 1;
sol[i] = m;
}
if( nr > k ){
fout << "-1";
return 0;
}
for( int i = 1; i <= n; i++ ){
nr -= ( l - v[i] ) / m + 1;
sol[i] = ( l - v[i] ) / ( k - nr ) + 1;
nr += ( l - v[i] ) / sol[i] + 1;
fout << sol[i] << "\n";
}
return 0;
}