题目到是不难,主要是用了set,方便。
/* ID: rowanha3 LANG: C++ TASK: humble */ #include<bits/stdc++.h> using namespace std; #define LL long long set<LL>se; set<LL>::iterator it; LL num[111]; int main() { freopen("humble.in","r",stdin); freopen("humble.out","w",stdout); int n,m,i,j,a,b; while(~scanf("%d%d",&n,&m)) { se.clear(); for(i=1;i<=n;i++) { cin>>num[i]; se.insert(num[i]); } for(i=1;i<=n;i++) { it=se.begin(); while(1) { LL p=(*it)*num[i]; if(p<0)break; if(se.size()>m) { se.erase(--se.end()); if(p>(*(--se.end())))break; } se.insert(p); it++; } } cout<<*(--se.end())<<endl; } return 0; }
usaco-3.1-Humble Numbers-<set的使用>,布布扣,bubuko.com
usaco-3.1-Humble Numbers-<set的使用>
原文:http://blog.csdn.net/rowanhaoa/article/details/21731963