P2777 [AHOI2016初中組]自行車比賽——洛谷


真是不好意思,感覺我的代碼比各路大神,簡單多了

主要是循環一邊

利用貪心的思想,假設當前a[i]是第一

把他與當前序列最大的a[n]

因為已經排好了順序如果a[n]的分數排到最后一名滿足沒有排到第一名的a[i]所得的分大

a[i]就滿足

ans++ 代碼很短 不懂可以私信我

題解 by >.< 我為saber上大師

我的博客園,剛剛創建的,大家有興趣,可以關注一下,大家也可以交個朋友QAQ

#include<bits/stdc++.h> using namespace std; int n,a[10000000]; int main() { cin>>n; for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+1+n); int ans=0; for(int i=1;i<=n;i++) { if(a[n]-a[i]<=n-1) ans++; } cout<<ans; return 0; }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM