Cod sursa(job #1766459)

Utilizator MoodyFaresFares Mohamad MoodyFares Data 27 septembrie 2016 22:53:57
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <cstdio>
const int NMAX = 100000;
using namespace std;
int c[NMAX+5], g[NMAX+5];
int log2 ( int n ) {
    int k = 0;
    while ( n ) {
        ++k;
        n /= 2;
    }
    return k;
}
int main() {
    freopen ( "cocochanel.in", "r", stdin );
    freopen ( "cocochanel.out", "w", stdout );
    int n, m, i, nr, bs, cm, k, maxg, exp2;
    scanf ( "%d%d", &n, &m );
    cm = m;
    for ( i = 1 ; i <= n ; ++ i )
        scanf ( "%d", &c[i] );
    maxg = 0;
    for ( i = 1 ; i <= m ; ++ i ) {
        scanf ( "%d", &g[i] );
        if ( g[i] > maxg )
            maxg = g[i];
    }
    for ( i = 1 ; i <= n ; ++ i ) {
        exp2 = log2 ( maxg / c[i] );
        if ( exp2 < m )
            printf ( "%d\n", exp2 );
        else
            printf ( "%d\n", m );
    }
    return 0;
}