Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:《挑战程序设计竞赛》这道题例程这个if是想干啥的??In Reply To:《挑战程序设计竞赛》这道题例程这个if是想干啥的?? Posted by:forestsea at 2017-08-31 23:18:39 > #include<iostream> > #include<algorithm> > #include<cstdio> > using namespace std; > typedef long long ll; > int N,L[20001]; > void solve() > { > ll ans=0; > while(N>1) > { > int mii1=0,mii2=1; > if(L[mii1]>L[mii2]) > swap(mii1,mii2); > > for(int i=2;i<N;i++) > { > if(L[i]<L[mii1]) > { > mii2=mii1; > mii1=i; > } > else if(L[i]<L[mii2]) > mii2=i; > } > > int t=L[mii1]+L[mii2]; > ans+=t; > > if(mii1==N-1)//就是这个if,去掉也AC了 > swap(mii1,mii2); > > L[mii1]=t; > L[mii2]=L[N-1]; > N--; > } > cout<<ans<<endl; > } > int main(void) > { > int i; > while(scanf("%d",&N)!=EOF) > { > for(i=0;i<N;i++) > cin>>L[i]; > solve(); > } > return 0; > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator