UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#193117#3402. 吃土豆lidingyi1002ms1244kbC++941b2023-10-14 09:16:282023-10-14 12:12:55

answer

#include <iostream>
#include <vector>
int findLastEater(int n, int S, std::vector<int>& v, std::vector<int>& a) {
    int currentEater = 1;
    while (S > 0) {
        // 当前小朋友吃掉 v 千克土豆
        S -= v[currentEater - 1];
        // 如果土豆被吃完了,循环结束
        if (S <= 0) {
            break;
        }
        // 更新当前持有土豆的小朋友的编号
        currentEater = a[currentEater - 1];
    }
    return currentEater;
}
int main() {
    int n, S;
    std::cin >> n >> S;
    std::vector<int> v(n);
    for (int i = 0; i < n; i++) {
        std::cin >> v[i];
    }
    std::vector<int> a(n);
    for (int i = 0; i < n; i++) {
        std::cin >> a[i];
    }
    // 调用函数找到最后一个吃到土豆的小朋友的编号
    int lastEater = findLastEater(n, S, v, a);
    // 输出结果
    std::cout << lastEater << std::endl;
    return 0;
}

Details

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1236kb

input:

1 888
1
1

output:

1

result:

ok single line: '1'

Test #2:

score: 10
Accepted
time: 0ms
memory: 1236kb

input:

3 995
1 27 74
3 2 1

output:

3

result:

ok single line: '3'

Test #3:

score: 10
Accepted
time: 1ms
memory: 1232kb

input:

2 894
30 51
1 1

output:

1

result:

ok single line: '1'

Test #4:

score: 10
Accepted
time: 0ms
memory: 1244kb

input:

722 938
17 20 28 1 61 27 41 12 9 73 10 14 6 24 26 5 6 12 15 26 89 82 16 18 16 13 18 29 137 35 80 21 ...

output:

31

result:

ok single line: '31'

Test #5:

score: 10
Accepted
time: 0ms
memory: 1240kb

input:

933 995
7 5 19 25 65 15 8 75 5 35 17 9 30 8 18 22 50 39 20 18 11 26 24 33 59 46 52 55 20 65 75 54 58...

output:

32

result:

ok single line: '32'

Test #6:

score: 10
Accepted
time: 0ms
memory: 1240kb

input:

657 965
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

output:

568

result:

ok single line: '568'

Test #7:

score: 10
Accepted
time: 0ms
memory: 1244kb

input:

868 950
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

output:

506

result:

ok single line: '506'

Test #8:

score: 10
Accepted
time: 0ms
memory: 1240kb

input:

578 981
27 4 1 5 85 41 32 43 56 92 53 57 100 11 1 25 36 84 40 3 10 17 72 11 9 3 115 25 68 22 65 59 4...

output:

56

result:

ok single line: '56'

Test #9:

score: 10
Accepted
time: 1ms
memory: 1240kb

input:

796 935
15 48 70 34 96 24 4 14 42 40 91 39 18 116 64 70 12 14 52 101 29 1 1 22 37 24 15 49 15 38 62 ...

output:

790

result:

ok single line: '790'

Test #10:

score: 10
Accepted
time: 0ms
memory: 1240kb

input:

675 999
23 74 26 12 80 27 5 15 31 27 70 2 58 12 19 43 6 19 45 5 2 29 48 14 28 15 15 59 29 43 6 28 42...

output:

666

result:

ok single line: '666'

Extra Test:

score: 0
Extra Test Passed