HZOI 2016 活動投票
阿新 • • 發佈:2017-05-22
stdin div 一次 default amp ++ 描述 def scan
[HZOI 2016] 活動投票
★★ 輸入文件:hztp.in
輸出文件:hztp.out
簡單對比
時間限制:0.5 s
內存限制:2 MB
【題目描述】
衡中活動很多,人也很多,一次活動有n個學生參與投票,現已知一名參賽選手票數超過半數,求其參賽號(參賽號隨機)
【輸入格式】
第一行一個整數n
第二行n個整數Ni 代表第i個學生所投選手的參賽號
【輸出格式】
超過半數選手的參賽號
【樣例輸入】
10
5 1 2 5 5 2 3 5 5 5
【樣例輸出】
5
【提示】
100%的數據中:n ≤3000000,1 ≤ Ni ≤300000000;
【來源】
2m神題
HZOI 2016
題目已經給出這個人是票數過半的
那麽最分散的排列情況為n/2+1並且隔一個投票一次如 1 2 1 2 1 1
以此類推 那麽這個人一定 連續投票最多的一個人
#include<cstdio> int n,pos; int main() { freopen("hztp.in","r",stdin); freopen("hztp.out","w",stdout); scanf("%d",&n); int lenth_max=-1;int lenth_now=0;int who; int a; scanf("%d",&a); for(int i=2;i<=n;i++) { scanf("%d",&pos); if(pos==a) { lenth_now++; } else { if(lenth_now>lenth_max) { lenth_max=lenth_now; who=a; } lenth_now=0; } a=pos; } printf("%d",who); return 0; }
HZOI 2016 活動投票