1 solutions
-
0
C++ :
#include <iostream> using namespace std; int main() { // 定义变量N表示面团的数量 int N; cin >> N; // 定义数组A存储每个面团的口味编号 int A[20]; // 题目中N的范围是2 <= N <= 20 for (int i = 0; i < N; i++) { cin >> A[i]; } // 定义数组B存储每个面团的幸福感 int B[20]; for (int i = 0; i < N; i++) { cin >> B[i]; } // 定义数组C存储相邻面团组合的额外幸福感 int C[19]; // 相邻组合的数量是N-1 for (int i = 0; i < N - 1; i++) { cin >> C[i]; } // 计算所有面团的幸福感总和 int sum_B = 0; for (int i = 0; i < N; i++) { sum_B += B[i]; } // 计算相邻面团组合的额外幸福感 int sum_C = 0; for (int i = 0; i < N - 1; i++) { // 如果当前面团的口味编号是下一个面团的口味编号减1 // 说明满足相邻组合条件,累加对应的额外幸福感 if (A[i + 1] == A[i] + 1) { sum_C += C[A[i] - 1]; // C数组的下标从0开始,A[i]是口味编号 } } // 输出总幸福感 cout << sum_B + sum_C << endl; return 0; }
Information
- ID
- 701
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 10
- Tags
- # Submissions
- 1
- Accepted
- 1
- Uploaded By