终于3ac了。妈的

最后一题,查询,前缀和+二分查找就可以了,也可以for一遍,预处理设置每个位置的组号,当作水题做就好了
#include <iostream>
#include <stdio.h>
using namespace std;
const int maxn = 1e+5 + 10;
int a[maxn];


int main()
{
    int n;
    while(~scanf("%d", &n)){
        for(int i = 0 ; i < n; ++i){
            int val ;
            scanf("%d", &val);
            if(i >= 1){
                a[i] = a[i-1] + val;
            }else {
                a[i] = val;
            }
        }
        int q;
        scanf("%d", &q);
        for(int i = 0 ; i  < q ; ++i) {
            int val;
            scanf("%d", &val);
            int f = 0;
            int e = n;
            int mid ;
            int ans = 0;
            while(f < e){
                mid = (f+e)/2;
                if(a[mid] > val){
                    e = mid;
                }
                else if(a[mid] == val){
                    break;
                }
                else {
                    f = mid+1;
                }
            }
            if(a[mid] == val){
                ans = mid;
            }
            else if(a[mid] < val){
                ans = mid+1;
            }
            else {
                ans = mid;
            }
            printf("%d\n", ans+1);
        }

    }
    return 0;
}


全部评论
感觉题就不是一个风格,第三道突然说文件,我使用文件测试了半天,真的醉
点赞 回复 分享
发布于 2017-08-19 20:56
看来我是幸运的,都提交了……
点赞 回复 分享
发布于 2017-08-19 22:47
一个小时就提交了
点赞 回复 分享
发布于 2017-08-19 21:40
能提交的都是大佬,我是没耐住寂寞,1道没提交
点赞 回复 分享
发布于 2017-08-19 21:02
恭喜你offer到手了233
点赞 回复 分享
发布于 2017-08-19 20:55
你都提交上了??
点赞 回复 分享
发布于 2017-08-19 20:52
能提交一个小时的都是大佬
点赞 回复 分享
发布于 2017-08-19 20:52

相关推荐

05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务