// 思路: 排序 + hash #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <vector> #include <string> #include <queue> #include <stack> #include <map> #include <set> #include <unordered_set> #include <unordered_map> #include <algorithm> using namespace std; const int maxn = 100000 + 5; long long arr[maxn]; long long brr[maxn]; long long crr[maxn]; int main() { int n; cin >> n; arr[0] = 0; for(int i = 1; i <= n; i++) cin >> arr[i]; for(int i = 2; i <= n; i++) arr[i] = arr[i] + arr[i-1]; int m; cin >> m; for(int i = 1; i <= m; i++) { cin >> brr[i]; crr[i] = brr[i]; } unordered_map<long long, long long> mm; sort(crr+1, crr+m+1); int pos = 1; int i = 1; while(i <= n) { if(pos > m) break; while(arr[i] < crr[pos]) i++; mm[crr[pos]] = i; pos++; } for(int i = 1; i <= m; i++) cout << mm[brr[i]] << endl; return 0; } // 剩八分钟时写好的, 没敢提交,不知能不能100%。(谁知道这种OJ需要排队到什么时候, 谁知道最后卷子交不上咋整?), 没想到最后延时了, 哭瞎在风中~~~~
点赞 5

相关推荐

自由水:笑死了,敢这么面试不敢让别人说
点赞 评论 收藏
分享
牛客网
牛客企业服务