44 lines
916 B
Java
44 lines
916 B
Java
import java.util.*;
|
|
|
|
public class _10775 {
|
|
static int[] parents;
|
|
static int ans = 0;
|
|
|
|
static int find(int x) {
|
|
if(parents[x] != x) return parents[x] = find(parents[x]);
|
|
return parents[x];
|
|
}
|
|
|
|
static void union(int x, int y) {
|
|
x = find(x);
|
|
y = find(y);
|
|
|
|
if(x > y) {
|
|
int temp = x;
|
|
x = y;
|
|
y = temp;
|
|
}
|
|
|
|
parents[y] = x;
|
|
}
|
|
public static void main(String[] args) {
|
|
Scanner sc = new Scanner(System.in);
|
|
int G = sc.nextInt(), P = sc.nextInt();
|
|
parents = new int[G+1];
|
|
for(int i=1; i<=G; i++) parents[i] = i;
|
|
|
|
for(int i=0; i<P; i++) {
|
|
int gi = sc.nextInt();
|
|
gi = find(gi);
|
|
|
|
if(gi == 0) break;
|
|
|
|
union(gi, gi-1);
|
|
ans++;
|
|
}
|
|
System.out.println(ans);
|
|
|
|
sc.close();
|
|
}
|
|
}
|