一开始用cin超时 用scanf却可以过,在网上找了下为什么;解释是这样的 因为scanf是用指针操作的,没有类型安全机制,比如一个char类型数据你就可以用%f获得输入, 而不会报错,但在运行时会出现异常。cin是自动判断你的变量类型, 比如一个char数据只能用默认的char方法取数据。 ` 这里写代码片 `#include<iostream> #include<algorithm> #include<cstdio> using namespace std; int main() { int n,m; int i; int a[100005]; while(cin>>n>>m) { if(m==0&&n==0) break; for(i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); if(m>=n) { for(i=n-1;i>n-10;i--) cout<<a[i]<<" "; cout<<a[0]<<endl; } else { for(i=n-1;i>n-m;i--) cout<<a[i]<<" "; cout<<a[n-m]<<endl; } } return 0; }
hdu 3785
最新推荐文章于 2021-03-24 08:09:59 发布