{\Huge 90} 分,本来65的

有没有在线神犇帮帮本菜鸟
代码?还是思路有问题
ooo忘发了
#include<bits/stdc++.h>
using namespace std;
int m, n;
int s[100111];
int d[100111];
int id[100111];
int ans[100111];
int main() {
cin >> m >> n;
for (int i = 1; i <= m; i++) cin >> s[i];
for (int i = 1; i <= n; i++) cin >> d[i];
for (int i = 1; i <= m; i++) id[i] = 1;
for (int i = 1; i <= m; i++) {
for (int j = 1;; j++) {
if (j == 1) {
int now = s[i] * d[1];
int k = now % 10;
int steps = k + 1;
if (steps % 2 == 0) {
if (steps > s[i]) {
ans[i] = s[i];
break;
} else if (id[i] + steps > n) {
ans[i] = s[i] - steps;
break;
} else {
id[i] += steps;
s[i] -= steps;
}
} else {
if (steps > s[i]) {
ans[i] = s[i];
break;
} else if (id[i] - steps < 1) {
ans[i] = s[i] - steps;
break;
} else {
id[i] -= steps;
s[i] -= steps;
}
}
} else {
int steps = d[id[i]];
if (steps > s[i]) {
ans[i] = s[i];
break;
}
if (steps % 2 == 0) {
if(id[i] + steps > n) {
ans[i] = s[i] - steps;
break;
}else {
id[i] += steps;
s[i] -= steps;
}
}else{
if(id[i] - steps < 1){
ans[i] = s[i] - steps;
break;
}else{
id[i] -= steps;
s[i] -= steps;
}
}
}
}
}
for(int i = 1; i <= m; i++) cout << ans[i] << ' ';
return 0;
}