第7个点错了谁可以看一看
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
inline ll read() {
ll x = 0, f = 1;
char ch = getchar();
while (!isdigit(ch)) {
if (ch == '-')
f = -1;
ch = getchar();
}
while (isdigit(ch)) {
x = (x << 1) + (x << 3) + (ch ^ 48);
ch = getchar();
}
return x * f;
}
inline void write(ll x) {
if (x < 0) putchar('-'), x = -x;
if (x > 9) write(x / 10);
putchar(x % 10 + '0');
}
ll n, m;
ll a[101], b[31];
bool f[101];
bool cmp(ll x, ll y) {
return x > y;
}
int main() {
n = read();
m = read();
for (ll i = 1; i <= n; i ++ ) a[i] = read();
for (ll i = 1; i <= m; i ++ ) b[i] = read(), f[b[i]] = true;
sort(b + 1, b + n + 1, cmp);
ll sum = 0;
for (ll i = 1; i <= n; i ++ ) if (!f[i]) sum += a[i];
for (ll i = 1; i <= m; i ++ ) {
if (a[b[i]] > sum) sum += a[b[i]];
else sum *= 2;
}
write(sum);
putchar('\n');
return 0;
}