HSG THPT Thanh Hóa 2020 - Điểm ảnh
Xem dạng PDF
Gửi bài giải
Điểm:
0,10 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
CAU2.INP
Output:
CAU2.OUT
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Trong máy tính, một bức ảnh có các điểm ảnh, mỗi điểm ảnh được biểu thị bởi một màu, có thể có những điểm ảnh có màu giống nhau, mỗi màu được quy định bằng một mã màu, mã màu là một số nguyên dương có giá trị không quá ~10^6~.
Yêu cầu: Cho trước một bức ảnh có ~N~ điểm ảnh và mã màu của từng điểm ảnh. Hãy cho biết số lượng điểm ảnh có mã màu giống nhau nhiều nhất.
Input
Đọc từ tệp CAU2.INP gồm hai dòng:
Dòng thứ nhất ghi số nguyên dương ~N~ (~N \le 10^6~)
Dòng thứ hai ghi ~N~ số nguyên dương ~a_1, a_2, \dots, a_N~ với ~a_i~ là mã màu của điểm ảnh thứ ~i~ (~1 \le a_i \le 10^6~; ~i = 1..N~).
Output
Ghi ra tệp CAU2.OUT một số nguyên là kết quả tìm được
Scoring
Sample Input 1
8
1 9 2 9 3 1 1 9
Sample Output 1
3

Bình luận
//code mau
include <bits/stdc++.h>
using namespace std; void xuat(){ int n; cin>>n; vector<int> a(n); for (int i=0;i<n;i++) { cin>>a[i]; } unorderedmap<int,int> freq; for (int i=0;i<n;i++) freq[a[i]]++; int maxval=0; for (auto &p:freq){ if (p.second>maxval) maxval=p.second; } cout<<maxval;
} int main(){ freopen("CAU2.INP","r",stdin); freopen("CAU2.OUT","w",stdout); iosbase::syncwithstdio(0); cin.tie(0); cout.tie(0); xuat(); }
include<bits/stdc++.h>
define ll long long
define maxn 1000006
define c "CAU2"
using namespace std; ll dem=0; ll x,b; vector<int> a(maxn); int main() { iosbase::syncwith_stdio(false); cin.tie(0);cout.tie(0); freopen(c ".INP","r",stdin); freopen(c ".OUT","w",stdout); for(int i=0;i<sizeof(a);i++) a[i]=0; cin>>x; for(int i=0;i<x;i++) {
cin>>b; a[b]++;
} int f =*max_element(a.begin(),a.end()); cout<<f;
} có thể chx tối ưuưu
include <bits/stdc++.h>
using namespace std;
define ll long long
define pb push_back
define fi first
define se second
define nn '\n'
define pi pair<ll,ll>
define unmp unordered_map
define uns unordered_set
define TASK "CAU2"
ll mod = 1e9+7; const int N = 1e5 + 5; int MOD = 998244353; int bit[200000]; int n; unmp<int, int> mp; int kq = 0; int main() { iosbase::syncwith_stdio(0); cin.tie(0); cout.tie(0); if(fopen(TASK".INP","r")){ freopen(TASK".INP","r",stdin); freopen(TASK".OUT","w",stdout); } cin >> n; for(int i = 1; i <= n ; i++){ int x; cin >> x; mp[x]++; kq = max(kq, mp[x]); } cout << kq << nn; return 0; }
thi mà triển khai nhanh là lợi thế đóa
mình newbie, s mn cứ set 1e9 bất kể đề chỉ cho đến 1e6 z, hơi khó hiểu
ai làm nhớ cho freopen vô nha
Mọi người chú ý bài này đọc/ghi trên tệp chứ không phải stdin/stdout nhé.
Mn sai là thường tại case N = 0 ấy ạ vì N <= 10^6 nên N từ 0 -> 10^6
/**
include <bits/stdc++.h>
define ll long long
define fi first
define se second
define pa pair<int,int>
define vec vector<int>
define el cout<<'\n'
define fast iosbase::syncwith_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
void doc(){ fast freopen("CAU2.INP", "r", stdin); freopen("CAU2.OUT", "w", stdout); }
const int MOD = 1e9+7; const int MAXN = 1e6+5; int n; string s; int a[MAXN];
int main(){ doc(); cin>>n; for(int i=1; i<=n; i++) cin>>a[i]; sort(a+1, a+n+1); int dem = 1, kq = 1; for(int i=1; i<n; i++){ if(a[i] == a[i+1]) dem++; else dem = 1; kq = max(kq, dem); } cout<<kq; return 0; }
sao k đúng nhỉ
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.