fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. // 1 3 4 6 7
  6. // 2 3 5 6 10
  7. int N, K;
  8. int A[100001], B;
  9. cin >> N >> K;
  10. for(int i = 0; i < N; i++) {
  11. cin >> A[i];
  12. if(i > 0)
  13. A[i] += A[i-1];
  14. }
  15. // 0 1 2 3 4
  16. // 1 3 4 6 7
  17. for(int i = 0; i < K; i++) {
  18. cin >> B;
  19. int lo = 0, hi = N-1, mid;
  20. while(hi > lo) {
  21. mid = (lo+hi+1)/2;
  22. // cout << lo << " " << mid << " " << hi << endl;
  23. if(A[mid] <= B)
  24. lo = mid;
  25. else
  26. hi = mid-1;
  27. }
  28. cout << (lo+1) << endl;
  29. }
  30. return 0;
  31. }
  32. /*
  33. 5 5
  34. 1 2 1 2 1
  35. 2 3 5 6 10
  36. */
Success #stdin #stdout 0.01s 5320KB
stdin
5 5
1 2 1 2 1
2 3 5 6 10
stdout
1
2
3
4
5