蓝桥杯H(暴力)
是不是寄了
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
const int N = 5e5 + 10;
typedef long long LL;
int n,k;
LL a[N];
bool used[N];
void solve()
{
cin >> n >> k;
memset(used,0,sizeof used);
for(int i = 1;i <= n;i ++) cin >> a[i];
for(int i = 0;i < k;i ++)
{
LL mina = 1e10+10;
int minid = 0;
for(int j = 1;j <= n;j ++)
{
if(!used[j])
if(a[j] < mina)
{
mina = a[j];
minid = j;
}
}
cout << minid << endl;
used[minid] = true;
for(int i = minid - 1;i >= 0;i--)
if(!used[i])
{
a[i] += a[minid];
break;
}
for(int i = minid + 1;i <= n;i ++)
if(!used[i])
{
a[i] += a[minid];
break;
}
}
for(int i = 1;i <= n;i ++)
{
if(!used[i]) cout << a[i] << ' ';
}
cout << endl;
return;
}
int main()
{
solve();
return 0;
}
你这还好了, 我还是vector加erase做的,更慢了
好的好的