求教

P1716 双调序列

把 system("pause"); 去掉
by ggtmjts @ 2019-01-02 21:31:01


# ~~考古学家~~: 你可以判断一下是偶数个还是奇数个。 方法: 排序(从小到大),两个循环同时进行,注意起始,边界。同时输出是两个循环的下标的数,偶数个可以直接结束,奇数个再输出最中间的数。@[kqing](/user/158543) 这是本蒟蒻的方法,不喜勿喷。 ## 具体如下: ```cpp #include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int a[n+1]; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+n+1); if(n%2==0) { for(int i=n,j=1;i>=n/2,j<=n/2;i--,j++) { cout<<a[i]; cout<<endl; cout<<a[j]; cout<<endl; } } if(n%2!=0) { for(int i=n,j=1;i>=n/2+2,j<=n/2;i--,j++) { cout<<a[i]; cout<<endl; cout<<a[j]; cout<<endl; } cout<<a[n/2+1]; } return 0; } ``` 没有注释哈
by Stevie @ 2022-08-05 22:34:36


|