一道水的不能再水的题目
生活随笔
收集整理的這篇文章主要介紹了
一道水的不能再水的题目
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
一個n,代表一共有多少個數,接下來給你n個數,讓你求一個m,使得前m個數的和大于等于n個數總和的一半.
Input
一個n(0<n<10000)代表一共有多少個數,接下來n個數(1~300)。單組輸入輸出
Output
輸出m
Sample Input 1?
4 1 3 2 1Sample Output 1
2Sample Input 2?
6 2 2 2 2 2 2Sample Output 2
3簡直太水了這題、、、紀念一下吧~還有一個小的點要注意一下的就是 sum的奇偶!,很多水題中都喜歡拿著一點做文章,還有負數的時候,比如-91,此時÷2后的結果?用移位運算符后的結果?要注意一下哈 。反正(-81>>1)結果是-41我不管。
上代碼:
#include<iostream> using namespace std; int main() {int n;int sum=0;int tmp;int a[100005];int ans=0;cin>>n;for(int i = 1;i<=n; i++) {scanf("%d",&a[i]);sum+=a[i];}if(sum&1) {sum>>=1;sum+=1;}else sum>>=1;for(int i = 1; i<=n; i++) {ans+=a[i];if(ans>=sum) {printf("%d\n",i);break;}}return 0 ;}總結
以上是生活随笔為你收集整理的一道水的不能再水的题目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: npscheck.exe - npsch
- 下一篇: Apollo进阶课程 ⑧ | 高精地图的