请问这段代码在哪里出错了

#include <iostream>
#include <algorithm>
using namespace std;
long n,w[10086]={0},sum=0,i1=1,i2=2;
void swap(int& a,int&b){
int t=a; a=b ; b=t;
}
int main() {
cin >> n;
//w[0]=9999999;
for(int i=1;i<=n;i++) cin >> w[i];
for(int i=1;i<n;i++)
{
for(int j=1;j<=n;j++)
{
if(w[j]<w[i1] && w[j]) {i2=i1; i1=j;}
else if(w[j]>=w[i1] && w[j]<w[i2] && w[j] && j!=i1) {i2=j;}
}
sum+=w[i1]+w[i2]; w[i2]+=w[i1]; w[i1]=9999999;
}
cout << sum;
return 0;
}
改了很多遍总是WA,试了几个测试数据又是能过的

0 条评论

目前还没有评论...

信息

ID
1097
难度
6
分类
贪心 点击显示
标签
递交数
23909
已通过
6333
通过率
26%
被复制
41
上传者