Submission #23605625


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef pair<int,int> P;
typedef pair<ll,ll> Pll;
typedef pair<string,string> Pstring;
typedef pair<double,double> Pdouble;


#define REP(i,n) for(ll i=0;i<n;i++)
#define REP1(i,n) for(ll i=1;i<=n;i++)
#define Precision13 cout << fixed << setprecision(13)
const double PI=3.14159265358979323846;
const int MAX = 510000;
const int MOD = 1000000007;
const int INF = 1<<29;
using Graph = vector<vector<int>>;


int main(){

  ll n;
  cin >> n;

  vector<ll> a(n);

  REP(i,n){
    cin >> a.at(i);
  }

  sort(a.begin(),a.end());

  ll ans;
  ans = n * (n-1) /2;

  ll count = 1;

  for(ll i=1;i<n;i++){
    if(a.at(i)==a.at(i-1)){
      count++;
    }else{
      ans -= count * (count-1) /2;
      count = 1;
    }

  }

  ans -= count * (count-1) /2;
  
  cout << ans << endl;
}

Submission Info

Submission Time
Task C - Swappable
User takkey
Language C++ (GCC 9.2.1)
Score 300
Code Size 900 Byte
Status AC
Exec Time 101 ms
Memory 5632 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 14
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt
Case Name Status Exec Time Memory
sample_01.txt AC 9 ms 3532 KiB
sample_02.txt AC 3 ms 3452 KiB
sample_03.txt AC 2 ms 3432 KiB
test_00.txt AC 2 ms 3592 KiB
test_01.txt AC 2 ms 3488 KiB
test_02.txt AC 25 ms 3716 KiB
test_03.txt AC 67 ms 4572 KiB
test_04.txt AC 72 ms 4876 KiB
test_05.txt AC 42 ms 3808 KiB
test_06.txt AC 23 ms 3684 KiB
test_07.txt AC 92 ms 5464 KiB
test_08.txt AC 97 ms 5440 KiB
test_09.txt AC 95 ms 5628 KiB
test_10.txt AC 101 ms 5632 KiB