#include <cstdio> #define MAXS 2201719 int main(void){ unsigned int n, i, tmp, *nomin, maxnomin; nomin = new unsigned int[MAXS]; /* Wczytanie */ scanf("%u", &n); for(i = 0; i < MAXS; i++) nomin[i] = 0; for(i = 0; i < n; i++){ scanf("%u", &tmp); nomin[tmp]++; } maxnomin = nomin[0]; for(i = 0; i < MAXS - 1; i++){ if(nomin[i]){ nomin[i+1] += (nomin[i]/2); maxnomin = i; } } printf("%u", maxnomin); delete nomin; return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <cstdio> #define MAXS 2201719 int main(void){ unsigned int n, i, tmp, *nomin, maxnomin; nomin = new unsigned int[MAXS]; /* Wczytanie */ scanf("%u", &n); for(i = 0; i < MAXS; i++) nomin[i] = 0; for(i = 0; i < n; i++){ scanf("%u", &tmp); nomin[tmp]++; } maxnomin = nomin[0]; for(i = 0; i < MAXS - 1; i++){ if(nomin[i]){ nomin[i+1] += (nomin[i]/2); maxnomin = i; } } printf("%u", maxnomin); delete nomin; return 0; } |