2019年12月1日
P2617 Dynamic Rankings
#include<iostream>
using namespace std;
int l,r,k;
int x , y;
int main()
{
freopen("1.txt","r",stdin);
freopen("2.txt","w",stdout);
int m,n;
cin >> m >> n;
int a[m];
for(int i = 1;i <= m;i++)
cin >> a[i];
char key;
for(int q = 0;q < n;q++)
{
cin >> key;
if(key == 'Q')
{
cin >> l >> r >> k;
int len = r - l + 1; //如何求得最k小的那个值
for(int i = l;i < r;i++)
for(int j = l;j < len - i + l;j++)
{
int tem = a[j];
if(a[j] > a[j + 1])
{
a[j] = a[j + 1];
a[j + 1] = tem;
}
}
cout << a[l + k - 1] << endl;
}
if(key == 'C')
{
cin >> x >> y;
int t = a[x];
a[x] = a[y];
a[y] = t;
}
}
return 0;
}
我的代码在本地只能得到一个点
大佬的代码: