Friday, 28 July 2017

Lightoj 1148 - Mad Counting

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int a[1000006];
  4. int main(){
  5.     int ts;
  6.     scanf("%d"&ts);
  7.     for(int p = 1; p <=ts; p++){
  8.     //memset(a, 0, sizeof(a));
  9.     int n;
  10.     scanf("%d"&n);
  11.     for(int i = 0; i <n; i++){
  12.         int b;
  13.         scanf("%d"&b);
  14.         a[b]++;
  15.     }
  16.     int sum = 0;
  17.     for(int i = 0; i <1000005; i++){
  18.         sum+= (a[i]/(i+1)) * (i+1);
  19.         if(a[i]%(i+1)) sum+= i+1;
  20.         a[i] = 0;
  21.     }
  22.     printf("Case %d: %d\n", p, sum);
  23.     }
  24.     return 0;
  25. }

No comments:

Post a Comment

Most Featured Post

Lightoj 1159 - Batman

http://lightoj.com/volume_showproblem.php?problem=1159 problem analysis: First i thought of this as if s1, s2 and s3 are those three str...