#include <stdio.h>
int main(int argc, char **argv)
{
unsigned long long int *tab = new unsigned long long int[3156];
int pom;
int n, i=0;
n = 3156;
while ( n-- )
{
tab[n] = 0;
}
//pom = 0; while(pom < 4) {printf("%d ", tab[pom]); pom++;} printf("\n");
scanf("%d", &n);
while ( n-- )
{
scanf("%d", &i);
//printf("\ni = %d:\t",i);pom = 0; while(pom < 4) {printf("%d ", tab[pom]); pom++;} printf("\n");
if ( tab[i/64] & (1 << i%64) )
{
tab[i/64] &= ~(1 << i%64);
i++;
while ( tab[i/64] & (1 << i%64) )
{
tab[i/64] &= ~(1 << i%64);
i++;
}
}
tab[i/64] |= 1 << i%64;
//printf("\ni = %d:\t",i);pom = 0; while(pom < 4) {printf("%d ", tab[pom]); pom++;} printf("\n");
}
n = 3156;
while ( n-- )
{
if(tab[n]!=0)
break;
}
i=0;
while(tab[n]!=0)
{
i++;
tab[n] = tab[n] >> 1;
}
printf("%d", n*64 + i - 1);
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #include <stdio.h> int main(int argc, char **argv) { unsigned long long int *tab = new unsigned long long int[3156]; int pom; int n, i=0; n = 3156; while ( n-- ) { tab[n] = 0; } //pom = 0; while(pom < 4) {printf("%d ", tab[pom]); pom++;} printf("\n"); scanf("%d", &n); while ( n-- ) { scanf("%d", &i); //printf("\ni = %d:\t",i);pom = 0; while(pom < 4) {printf("%d ", tab[pom]); pom++;} printf("\n"); if ( tab[i/64] & (1 << i%64) ) { tab[i/64] &= ~(1 << i%64); i++; while ( tab[i/64] & (1 << i%64) ) { tab[i/64] &= ~(1 << i%64); i++; } } tab[i/64] |= 1 << i%64; //printf("\ni = %d:\t",i);pom = 0; while(pom < 4) {printf("%d ", tab[pom]); pom++;} printf("\n"); } n = 3156; while ( n-- ) { if(tab[n]!=0) break; } i=0; while(tab[n]!=0) { i++; tab[n] = tab[n] >> 1; } printf("%d", n*64 + i - 1); return 0; } |
English