Submission #890814
Source Code Expand
import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; import java.util.NoSuchElementException; public class Main { static FastScanner sc = new FastScanner(); static PrintStream out = System.out; public static void main(String args[]) { int N = ni(); int a[] = na(N); int cnt = 0; for (int i=0;i<N;i++) { int b = a[i]; if (a[b-1] == i+1) cnt++; } System.out.println(cnt/2); } private static String next() { return sc.next(); } private static int ni() { return sc.nextInt(); } private static long nl() { return sc.nextLong(); } private static int[] na(int n) { int[] a = new int[n]; for(int i = 0;i < n;i++) a[i] = ni(); return a; } private static long[] nal(int n) { long[] a = new long[n]; for(int i = 0;i < n;i++) a[i] = ni(); return a; } private static double nd() { return Double.parseDouble( next() ); } } class FastScanner { private final InputStream in = System.in; private final byte[] buffer = new byte[1024]; private int ptr = 0; private int buflen = 0; private boolean hasNextByte() { if (ptr < buflen) { return true; }else{ ptr = 0; try { buflen = in.read(buffer); } catch (IOException e) { e.printStackTrace(); } if (buflen <= 0) { return false; } } return true; } private int readByte() { if (hasNextByte()) return buffer[ptr++]; else return -1;} private static boolean isPrintableChar(int c) { return 33 <= c && c <= 126;} private void skipUnprintable() { while(hasNextByte() && !isPrintableChar(buffer[ptr])) ptr++;} public boolean hasNext() { skipUnprintable(); return hasNextByte();} public String next() { if (!hasNext()) throw new NoSuchElementException(); StringBuilder sb = new StringBuilder(); int b = readByte(); while(isPrintableChar(b)) { sb.appendCodePoint(b); b = readByte(); } return sb.toString(); } public int nextInt() { if (!hasNext()) throw new NoSuchElementException(); int n = 0; boolean minus = false; int b = readByte(); if (b == '-') { minus = true; b = readByte(); } if (b < '0' || '9' < b) { throw new NumberFormatException(); } while(true){ if ('0' <= b && b <= '9') { n *= 10; n += b - '0'; }else if(b == -1 || !isPrintableChar(b)){ return minus ? -n : n; }else{ throw new NumberFormatException(); } b = readByte(); } } public long nextLong() { if (!hasNext()) throw new NoSuchElementException(); long n = 0; boolean minus = false; int b = readByte(); if (b == '-') { minus = true; b = readByte(); } if (b < '0' || '9' < b) { throw new NumberFormatException(); } while(true){ if ('0' <= b && b <= '9') { n *= 10; n += b - '0'; }else if(b == -1 || !isPrintableChar(b)){ return minus ? -n : n; }else{ throw new NumberFormatException(); } b = readByte(); } } }
Submission Info
Submission Time | |
---|---|
Task | B - Friendly Rabbits |
User | yamatchan |
Language | Java8 (OpenJDK 1.8.0) |
Score | 200 |
Code Size | 3622 Byte |
Status | AC |
Exec Time | 132 ms |
Memory | 9724 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 200 / 200 | ||||
Status |
|
|
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 | 95 ms | 8020 KB |
0_01.txt | AC | 93 ms | 8020 KB |
0_02.txt | AC | 94 ms | 8016 KB |
1_00.txt | AC | 95 ms | 8016 KB |
1_01.txt | AC | 130 ms | 9612 KB |
1_02.txt | AC | 130 ms | 9616 KB |
1_03.txt | AC | 129 ms | 9540 KB |
1_04.txt | AC | 126 ms | 9552 KB |
1_05.txt | AC | 129 ms | 9500 KB |
1_06.txt | AC | 128 ms | 9424 KB |
1_07.txt | AC | 132 ms | 9724 KB |
1_08.txt | AC | 117 ms | 9040 KB |
1_09.txt | AC | 127 ms | 9684 KB |
1_10.txt | AC | 126 ms | 9396 KB |
1_11.txt | AC | 110 ms | 8784 KB |