Advertisement
Guest User

Untitled

a guest
Feb 21st, 2014
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <algorithm>
  2. #include <iostream>
  3.  
  4. const size_t data_size = 1010000;
  5.  
  6. int main() {
  7.   int data[data_size];
  8.   std::fill(data, data+data_size, 0);
  9.   for (int ii = 200; ii <= 999; ++ ii) {
  10.     for (int jj = 200; jj <= 999; ++ jj)
  11.       for (int kk = 0; kk <= 9999; ++ kk) {
  12.         data[10000+ii*jj-kk] += 1;
  13.       }
  14.   }
  15.  
  16.   double sum = 0;
  17.   int non_zero = 0;
  18.  
  19.   int perm[data_size];
  20.   for (size_t ii = 0; ii < data_size; ++ ii) {
  21.     perm[ii] = ii;
  22.     if (data[ii] != 0) {
  23.       ++ non_zero;
  24.       sum += data[ii];
  25.     }
  26.   }
  27.   std::sort(perm, perm+data_size, [&data](int a, int b) { return data[a] < data[b]; } );
  28.  
  29.   for (int ii = 1; ii <= 10; ++ ii)
  30.     std::cout << data[perm[data_size-ii]] << " at " << perm[data_size-ii]-10000 << std::endl;
  31.  
  32.  
  33.   std::cout << "non-zero elements:  " << non_zero << std::endl
  34.             << "average:            " << sum/non_zero << std::endl
  35.             << std::endl;
  36.  
  37.   return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement