A - Blackboard List
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define Ios ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define fi first
#define se second
int t;
const int N = 300010;
ll x[200010],y[200010];
set<string> a;
void solve()
{
int n;
cin>>n;
int a[110];
for (int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
for (int i=1;i<=n;i++){
if(a[i]<0){
cout<<a[i];
break;
}
else {
cout<<a[n];
break;
}
}
cout<<endl;
}
int main()
{
Ios
cin>>t;
while(t--){
solve();
}
}
B - Minimize Permutation Subarrays
要求的是最小的排列数,只要让最大的值在1,2之间即可。
所以只需要记录每个数的位置,并保持最大的数的位置在1和2的位置之间即可。
#include "bits/stdc++.h"
using namespace std;
#define int long long
#define endl '\n'
#define IOS ios::sync_with_stdio(0),cin.tie(0);
#define all(x) x.begin(),x.end()
#define pi pair<int,int>
#define vi vector<int>
#define si set<int>
#define mi map<int,int>
#define mc map<char,int>
void solve()
{
int n;
cin>>n;
vi a(n+1);
for (int i=1;i<=n;i++){
int x;
cin>>x;
a[x]=i;
}
if(a[n]<min(a[1],a[2])){
cout<<a[n]<<" "<<min(a[1],a[2])<<endl;
}
else if (a[n]>max(a[1],a[2])){
cout<<max(a[1],a[2])<<" "<<a[n]<<endl;
}
else {
cout<<a[1]<<" "<<a[2]<<endl;
}
}
signed main()
{
IOS
int t;
cin>>t;
while(t--){
solve();
}
}
C - No Prime Differences
每一行内的数差为1,可不更改。只需要保证每一列里相邻的数差为1即可。每一列本来相差m。
如果是的每一列的差都是m的倍数即可。 可先从最大的奇数行到最小的奇数行,在从最大的偶数行到最小的偶数行
#include "bits/stdc++.h"
using namespace std;
#define int long long
#define endl '\n'
#define IOS ios::sync_with_stdio(0),cin.tie(0);
#define all(x) x.begin(),x.end()
#define pi pair<int,int>
#define vi vector<int>
#define si set<int>
#define mi map<int,int>
#define mc map<char,int>
int a[1010][1010];
void solve()
{
int n,m;
cin>>n>>m;
int ans=0;
int cnt=1;
int x,y;
if(n%2){
x=n;
y=n-1;
}
else {
x=n-1;
y=n;
}
for (int i=x;i>=1;i-=2){
ans=(i-1)*m+1;
for (int j=1;j<=m;j++){
a[cnt][j]=ans;
ans++;
}
cnt++;
}
for (int i=y;i>=1;i-=2 ){
ans=(i-1)*m+1;
for (int j=1;j<=m;j++){
a[cnt][j]=ans;
ans++;
}
cnt++;
}
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
signed main()
{
IOS
int t;
cin>>t;
while(t--){
solve();
}
}