A |
如果是()这样直接输出No
其他情况判断前后是否相等,相等的话在指定位置插入左括号或者右括号,不相等的话直接输出()
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int n=3e5+1;
const int M=1e3+1;
const int MOD=10000007;
void solve(){
string s;
cin>>s;
if(s=="()") {
cout<<"NO"<<'\n';
return ;
}
cout<<"YES"<<'\n';
int flag=1;
for(int i=1;i<=s.size();i++){
if(s[i]==s[i-1]) flag=0;
}
if(flag){
cout<<string(s.size(),'(')+string(s.size(),')')<<'\n';
}
else{
for(int i=1;i<=s.size();i++){
cout<<"()";
}
cout<<'\n';
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int T=1;
cin>>T;
while(T--) solve();
}
B |
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=3e5+1;
const int M=1e3+1;
const int MOD=10000007;
void solve(){
int m,k,a,b;
cin>>m>>k>>a>>b;
int tmp=(m-a+k-1)/k;
// cout<<tmp<<'\n';
if(tmp>m/k) tmp=m/k;
// tmp=max(0ll,tmp);
int c1=max(tmp-b,0ll);
int c2=max((m-tmp*k-a),0ll);
cout<<c1+c2<<'\n';
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int T=1;
cin>>T;
while(T--) solve();
}
C. Game on Permutation
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=3e5+1;
const int M=1e3+1;
const int MOD=10000007;
int a[N];
void solve(){
int n;
memset(a,0,sizeof a);
cin>>n;
int ans=0;
for(int i=1;i<=n;i++) cin>>a[i];
int mn=1e9,k=1e9;
for(int i=1;i<=n;i++){
if(a[i]<mn){
mn=a[i];
continue;
}
if(k>a[i]) {
ans++;
k=a[i];
}
}
cout<<ans<<'\n';
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int T=1;
cin>>T;
while(T--) solve();
}