IQOverload

Untitled

Aug 21st, 2014
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.49 KB | None | 0 0
  1. #include <algorithm>
  2. #include <bitset>
  3. #include <deque>
  4. #include <cmath>
  5. #include <cstdio>
  6. #include <cstdlib>
  7. #include <cstring>
  8. #include <iostream>
  9. #include <list>
  10. #include <map>
  11. #include <queue>
  12. #include <set>
  13. #include <sstream>
  14. #include <stack>
  15. #include <string>
  16. #include <utility>
  17. #include <vector>
  18.  
  19. #define fst first
  20. #define snd second
  21. #define all(x) (x).begin(), (x).end()
  22. #define clr( a , v ) memset( a , v , sizeof(a) )
  23. #define pb push_back
  24. #define mp make_pair
  25. #define sz size()
  26. #define FORN( i , s , n ) for( int i = s ; i < (int)(n) ; i++ )
  27. #define FOR( i , n ) FORN( i , 0 , n )
  28. #define FORIT(i,x) for( typeof x.begin() i = x.begin() ; i != x.end() ; i++ )
  29. #define trace(x)    cerr << #x << ": " << x << endl;
  30. #define trace2(x, y) cerr << #x << ": " << x << " | " << #y << ": " << y << endl;
  31. #define read ios::sync_with_stdio(false)
  32.  
  33. using namespace std;
  34.  
  35. typedef long long int64;
  36. typedef vector <int> vi;
  37. typedef pair <int,int> ii;
  38. typedef vector <string> vs;
  39. typedef vector <ii> vii;
  40.  
  41. const int MAX = 1000005;
  42.  
  43. int64 x[MAX], y[MAX], a[MAX];
  44. map <int64,int64> M;
  45. multiset <int64> A,B;
  46.  
  47. int main():%y{
  48.     int n; cin >> n;
  49.     FOR( i , n ) scanf("%lld", &a[i]);
  50.     FOR( i , n ) x[i] = ++M[a[i]];
  51.     FOR( i , n ){
  52.         y[i] = M[a[i]] - x[i] + 1;
  53.         A.insert( y[i] );
  54.     }
  55.     int64 ans = 0; int p,q;
  56.     FOR( i , n ){
  57.         B.insert( y[i] );
  58.         p = A.end() - A.upper_bound( x[i] );
  59.         q = B.end() - B.upper_boudn( x[i] );
  60.         ans += ( p - q );
  61.     }
  62.     cout << ans << endl;
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment