这场比赛是赛后自行补的题
国际博物馆日
#include<bits/stdc++.h>
using namespace std;
int main() {
cout<<"museum";
return 0;
}
最小值取余
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+10;
int a[N];
ll mod=998244353;
int main()
{
int n;cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
ll x=0;
for(int i=1;i<=n;i++) x=(x*10+a[i])%mod;
x%=mod;
cout<<x;
return 0;
}
小蓝的方程
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main()
{
int x,y;cin>>x>>y;
int ans=0;
ans+=y+1; //a=0
ans+=x; //a!=0&&n=1
cout<<ans;
return 0;
}
玩偶购买
#include <bits/stdc++.h>
#define int long long
using namespace std;
void solve() {
int n,x,y,a,b;cin>>n>>x>>y>>a>>b;
//小蓝的money(n),玩具的体积(x),价格(y),小蓝的衣柜(a),小桥的衣柜(b)
if(n<y||b<x) {
cout<<"-1\n";
return ;
}
int s=n/y; // 最多能买 s 个
int bx=b/x; // 小桥最多装 bx 个
int res=0;
if(bx<=s) {
n-=bx*y;
res+=bx;
int t=min(n/y,a/x);
if(t>=bx) res+=(bx-1);
else res+=t;
}
else res+=s;
cout<<res<<'\n';
}
signed main()
{
int t;cin>>t;
while(t--) solve();
return 0;
}
数学魔术家
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;cin>>s;
sort(s.begin(),s.end());
for(int i=s.size()-1;i>=0;i--) cout<<s[i];
cout<<" ";
if(s[0]=='0') {
for(int i=1;i<s.size();i++) {
if(s[i]!='0') {
swap(s[i],s[0]);
break;
}
}
}
for(int i=0;i<s.size();i++) cout<<s[i];
return 0;
}
矿石样本分析
#include <bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int a[N];
int main()
{
int n,k;cin>>n>>k;
unordered_map<int,vector<int>> mp;
for(int i=1;i<=n;i++) {
cin>>a[i];
mp[a[i]].push_back(i);
}
int ret=1e9;
for(int i=1;i<=n;i++) {
int x=a[i],y=k-a[i];
if(y<=0||x==y) continue;
int z=1e9;
for(auto p : mp[y]) {
if(p==i) continue;
z=min({z,p,n-p+1});
}
if(z!=1e9) ret=min(ret,max(z,min(i,n-i+1)));
}
cout<<(ret==1e9 ? -1 : ret);
return 0;
}