Most Unstable Array CodeForces - 1353A
思路:最大是2*m,特判n= =1和n==2的情况。
代码如下:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%lld%lld",&n,&m);
if(n==1) cout<<0<<endl;
else if(n==2) cout<<m<<endl;
else cout<<m*2ll<<endl;
}
return 0;
}
Two Arrays And Swaps CodeForces - 1353B
思路:贪心的去交换最多k次就可以了。
代码如下:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxx=101;
int a[maxx];
int b[maxx];
int n,k;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<=n;i++) scanf("%d",&b[i]);
sort(a+1,a+1+n);
sort(b+1,b+1+n);
int l=1,r=n;
while(k--)
{
if(a[l]<b[r]) swap(a[l],b[r]);
else break;
l++,r--;
}
int sum=0;
for(int i=1;i<=n;i++) sum+=a[i];
cout<<sum<<endl;
}
return 0;
}
努力加油a啊,(o)/~