Rút gọn tập hợp số nguyên
Submit solution
Points:
2 (partial)
Time limit:
1.0s
Python 3
2.0s
Memory limit:
98M
Python 3
977M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Cho dãy số nguyên \(a_1,a_2, ... ,a_N\), nhiệm vụ của bạn là rút gọn tập hợp số này sao cho những phần tử trùng nhau chỉ giữ lại một phần tử đầu tiên, những phần tử xuất hiện sau thì loại bỏ hết.
Input
Dòng đầu tiên chứa số nguyên dương \(N\) là số phần tử của dãy \((N \le 10^6)\). Dòng tiếp theo chứa N số nguyên sao cho \( -32768 < a_i <32768 \).
Output
Dãy số sau khi rút gọn
Example 1
Input
10
1 9 0 0 1 5 -7 0 -7 9
Output
1 9 0 5 -7
Comments
include <bits/stdc++.h>
using namespace std;
int main(){
}
cho e hỏi sao sai vậy ạ, e yếu java nên k bt sao cứ bị TLE, còn dùng set trong c++ vẫn AC
Cho em hỏi chỗ sai với ạ :))
Cái unordered_set kết hợp với stack nó in ra đúng các phần tử nhưng thứ tự thì không đúng với yêu cầu của đầu bài là Phần tử nào xuất hiện trước phải in ra trước
[user:^_^]Tham khảo
ý tưởng của mình là như thế này các bạn thay cout vs cin thành scanf và printf sẽ AC :((
Cho e hỏi làm sao để Output ra theo đúng thứ tự như đề bài ạ. Dùng map nó tự sắp xếp lại rồi
Dùng map<int,bool> thằng nào có rồi thì ko out còn chưa có thì out, sau đó cho vào map
bạn/anh cứ duyệt theo mảng ban đầu ở vòng for thứ 2, phần tử nào in r thì cho A[x[i]] = -1 để làm điều kiện đã in phần tử này là đc
Code bạn chạy nhiều vòng lặp quá,bài này bạn có thể sử dụng map để đánh dấu những số đã xuất hiện rồi nhé :3
ai xem hộ code mình bị lỗi tg ạ