Codeforces Round #154 (Div. 2) : B
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #154 (Div. 2) : B
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一個很簡單的題;
方法一:
二分。
代碼:
1 #include<cstdio> 2 #include<algorithm> 3 #define maxn 100005 4 using namespace std; 5 6 int num[maxn],n; 7 8 int main() 9 { 10 freopen("input.txt", "r", stdin); 11 freopen("output.txt", "w", stdout); 12 scanf("%d",&n); 13 for(int i=0;i<n;i++)scanf("%d",&num[i]); 14 sort(num,num+n); 15 int ans=0; 16 for(int i=0;i<n;i++) 17 { 18 int x=upper_bound(num,num+n,2*num[i])-num-i; 19 if(ans<x)ans=x; 20 } 21 printf("%d\n",n-ans); 22 return 0; 23 } View Code方法二:
雙端隊列;
代碼:
1 #include<cstdio> 2 #include<algorithm> 3 #include<queue> 4 #define maxn 100005 5 using namespace std; 6 7 int num[maxn],n; 8 queue<int>q; 9 10 int main() 11 { 12 freopen("input.txt", "r", stdin); 13 freopen("output.txt", "w", stdout); 14 scanf("%d",&n); 15 for(int i=0;i<n;i++)scanf("%d",&num[i]); 16 sort(num,num+n); 17 int ans=0; 18 for(int i=0;i<n;i++) 19 { 20 q.push(num[i]); 21 if(q.front()*2<q.back())q.pop(); 22 if(ans<q.size())ans=q.size(); 23 } 24 printf("%d\n",n-ans); 25 return 0; 26 } View Code?
?
轉載于:https://www.cnblogs.com/yours1103/p/3361561.html
總結
以上是生活随笔為你收集整理的Codeforces Round #154 (Div. 2) : B的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux操作系统中,*.zip、*.t
- 下一篇: 在Win8中创建热点,共享网络