Nhập vào một số N nguyên dương và một số x,trong khoảng từ 1 đến n xóa x số bất kì rồi nhập lại dãy đã bị xóa mà đã bị hoán đổi vị trí.in ra các số đã bị xóa đi trong khoảng đó theo thứ tự tăng dần
điều kiện:
x luôn < n
1 < N < 10^7
test:
6 3
1 5 2
xuất ra màn hình các số 3 4 6
giải thích:
dòng đầu là nhập N và số x
dòng tiếp theo là các số đã bị xóa đi x số và bị đảo lộn đi.
in ra 3 4 6 là các số đã xóa ngẫu nhiên
int main() { int n,x; cin >> n >> x; bool d[n+1]; // Su dung mang de danh // dau cac so da nhap for (int i = 0;i < n-x;i++) { int a;cin >> a; d[a] = true; } // In ra cac so chua xuat hien // trong luc nhap :') for (int i = 1;i <= n;i++) if (d[i] == false) cout << i << ' '; return 0; }
uses crt; var n,x,a,i:longint; k:array[1..10000000]of boolean; begin clrscr; readln(n,x); for i:=1 to x do begin read(a); k[a]:=true; end; for i:=1 to n do if k[i]=false then write(i,' '); readln end.