• Source
    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. */