Submission #891402


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <functional>
#include <numeric>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <utility>
#include <sstream>
#include <complex>
#include <fstream>

using namespace std;

#define FOR(i,a,b) for(long long i=(a);i<(b);i++)
#define REP(i,N) for(long long i=0;i<(N);i++)
#define ALL(s) (s).begin(),(s).end()
#define fi first
#define se second

#define PI acos(-1.0)
#define INF 1000000007
#define MOD 1000000007
#define EPS 1e-10
#define MAX_N 100100
#define MAX_M 100100

typedef long long ll;
typedef pair<ll, ll> P;
typedef pair<double, double> PD;
typedef pair<string, ll> PS;
typedef vector<ll> V;
typedef pair<P, char> PC;
typedef pair<ll, string> PLS;

int n;
int a[100100];
bool f[100100];

int main(){
	int ans = 0;
	cin >> n;
	fill(f, f + n, 1);
	REP(i, n){
		cin >> a[i];
		a[i]--;
	}
	REP(i, n){
		if (f[i]){
			if (a[a[i]] == i){
				ans++;
				f[i] = 0;
				f[a[i]] = 0;
			}
		}
	}
	cout << ans << endl;
}

Submission Info

Submission Time
Task B - Friendly Rabbits
User jimmy
Language C++14 (GCC 5.4.1)
Score 200
Code Size 1123 Byte
Status AC
Exec Time 35 ms
Memory 768 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 15
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt
Case Name Status Exec Time Memory
0_00.txt AC 3 ms 384 KB
0_01.txt AC 3 ms 256 KB
0_02.txt AC 3 ms 256 KB
1_00.txt AC 3 ms 256 KB
1_01.txt AC 35 ms 768 KB
1_02.txt AC 35 ms 768 KB
1_03.txt AC 35 ms 768 KB
1_04.txt AC 35 ms 768 KB
1_05.txt AC 35 ms 768 KB
1_06.txt AC 35 ms 768 KB
1_07.txt AC 35 ms 768 KB
1_08.txt AC 15 ms 384 KB
1_09.txt AC 29 ms 640 KB
1_10.txt AC 25 ms 640 KB
1_11.txt AC 8 ms 384 KB