#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 100000000 int main() { int *nb = (int*)malloc(MAX*sizeof(*nb)); if (nb==0) { fprintf(stderr, "# out of memory\n"); return 1; } memset(nb, 0, MAX*sizeof(*nb)); int mx=-1; int k = 0; int f = 0; for (long long n=1; n>0 && f<MAX; n++) { int v = nb[f]; if (mx<v) { printf("%d %d\n", ++k, mx=v); fflush(stdout); if (k==25000) { break; } } if (v<MAX) { nb[v]++; } if (v==0) { f=0; } else { f++; } } free(nb); return 0; }