Advertisement
Ritam_C

Codeforces Close Tuples Easy

Jan 29th, 2021
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. #define ld long double
  4. #define pb push_back
  5. #define p_b pop_back
  6. #define si stack<int>
  7. #define sll stack<ll>
  8. #define sc stack<char>
  9. #define vi vector<int>
  10. #define vll vector<ll>
  11. #define mii map<int, int>
  12. #define msi map<string, int>
  13. #define mci map<char, int>
  14. #define qc queue<char>
  15. #define qi queue<int>
  16. #define qll queue<ll>
  17. using namespace std;
  18.  
  19. int main(){
  20.     ios_base::sync_with_stdio(false);
  21.     cin.tie(NULL);
  22.     int t;
  23.     cin >> t;
  24.     while(t--){
  25.         int n;
  26.         cin >> n;
  27.         vi v;
  28.         for(int i = 0; i < n; i++){
  29.             int x;
  30.             cin >> x;
  31.             v.pb(x);
  32.         }
  33.  
  34.         sort(v.begin(), v.end());
  35.  
  36.         int count = 0;
  37.         int i = 0;
  38.         while(i < n-2){
  39.             int tmp = i;
  40.             int c = 0;
  41.             int j = i+1;
  42.             while(v[j]-v[i] <= 2 && j < n){
  43.                 if(v[j] == v[i]){
  44.                     tmp = j;
  45.                 }
  46.                 j++;
  47.                 c++;
  48.             }
  49.             if(c >= 2){
  50.                 count += (c+1)*(c)*(c-1)/6;
  51.             }
  52.             i = tmp+1;
  53.         }
  54.         cout << count << "\n";
  55.     }
  56.     return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement