Submission #33671435
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using P = pair<int, int>;
using PL = pair<ll, ll>;
//#include "atcoder/all"
//using namespace atcoder;
//using mint = modint1000000007;
const int mod = 1000000007;
//using mint = modint998244353;
//const int mod = 998244353;
const int INF = 1e9+7;
//const long long LINF = 1e18;
const double EPS = 1e-9;
#define pb push_back
#define eb emplace_back
#define range(i, l, r) for(int i=(int)(l); i<(int)(r); i++)
#define rrange(i, l, r) for(int i=(int)(l); i>=(int)(r); i--)
#define all(v) (v).begin(),(v).end()
#define whole(f, x, ...) ([&](decltype((x)) container) { return (f)(begin(container), end(container), ## __VA_ARGS__); })(x)
#define debug(x) cerr < #x << ": " << x << '\n';
template <typename T> inline int in() { T x; cin >> x; return (x); }
template <typename T> inline void print(T& x) { cout << x << endl; }
template <typename T1, typename T2> ostream &operator<<(ostream &os, pair<T1, T2> p) { os << "(" << p.first << ", " << p.second << ")"; return os; }
template <typename T> istream &operator>>(istream &is, vector<T> &v) { for (T &in : v) is >> in; return is; }
template <typename T1, typename T2> inline bool chmax(T1 &a, T2 b) { return a < b && (a = b, true); }
template <typename T1, typename T2> inline bool chmin(T1 &a, T2 b) { return a > b && (a = b, true); }
int dx[4] = { -1, 0, 1, 0 };
int dy[4] = { 0, 1, 0, -1 };
const double pi = 3.141592653589793238;
int o = 0; // cout << o << endl; o++;
int main(){
cin.tie(0);
ios_base::sync_with_stdio(false);
int n; cin >> n;
vector<int> a(n+1); range(i, 1, n+1) cin >> a[i];
ll ans = 0;
ll cnt = 0;
range(i, 1, n+1) {
if(i==a[i]) {
cnt++;
continue;
}
int j = a[i];
if(a[i]==j && a[j]==i) ans++;
}
//cout << ans << endl;
ans /= 2;
//cout << cnt << endl;
ans += max((ll)cnt * (ll)(cnt-1) / 2, 0LL);
cout << ans << endl;
}
Submission Info
| Submission Time |
|
| Task |
C - Min Max Pair |
| User |
yoiyoi |
| Language |
C++ (GCC 9.2.1) |
| Score |
300 |
| Code Size |
1969 Byte |
| Status |
AC |
| Exec Time |
44 ms |
| Memory |
5280 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
300 / 300 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
example_00.txt, example_01.txt |
| All |
example_00.txt, example_01.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 |
| Case Name |
Status |
Exec Time |
Memory |
| example_00.txt |
AC |
8 ms |
3636 KiB |
| example_01.txt |
AC |
2 ms |
3640 KiB |
| test_00.txt |
AC |
42 ms |
4652 KiB |
| test_01.txt |
AC |
14 ms |
3560 KiB |
| test_02.txt |
AC |
33 ms |
4360 KiB |
| test_03.txt |
AC |
32 ms |
4464 KiB |
| test_04.txt |
AC |
15 ms |
3540 KiB |
| test_05.txt |
AC |
35 ms |
4068 KiB |
| test_06.txt |
AC |
42 ms |
5280 KiB |
| test_07.txt |
AC |
44 ms |
5228 KiB |
| test_08.txt |
AC |
42 ms |
5232 KiB |
| test_09.txt |
AC |
3 ms |
3488 KiB |