Educational Codeforces Round 94 (Rated for Div. 2)
A - String Similarity
#include <bits/stdc++.h>
//#define int ll
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int MAX = 2e5 + 10;
using namespace std;
void solve() {
int n,i;
string b;
for(cin>>n>>b,i=0;i<n;i++) cout<<b[n-1];
cout<<endl;
}
signed main() {
//ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int _ = 1;
cin>>_;
while (_--) {
solve();
}
return 0;
}
B - RPG Protagonist
#include <bits/stdc++.h>
//#define int ll
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int MAX = 2e5 + 10;
using namespace std;
void solve() {
int p,f,cs,cw,s,w,sum=0;
cin>>p>>f>>cs>>cw>>s>>w;
if(w<s)swap(s,w),swap(cs,cw);
for(int i=0,ans=0;i<=min(cs,p/s);i++){
ans=i+min((p-i*s)/w,cw)+min((cs-i),f/s)+min((f-s*min((cs-i),f/s))/w,cw-min((p-i*s)/w,cw));
if(sum<ans)sum=ans;
}
cout<<sum<<endl;
}
signed main() {
//ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int _ = 1;
cin>>_;
while (_--) {
solve();
}
return 0;
}
C - Binary String Reconstruction
#include <bits/stdc++.h>
//#define int ll
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int MAX = 2e5 + 10;
using namespace std;
int b[MAX];
int solve() {
int x;
string a;
cin>>a>>x;
for(int i=0;i<a.size();i++)b[i]=1;
for(int i=0;i<a.size();i++) if(a[i]=='0'){
if (i>=x)b[i-x]=0;
if (i+x<a.size())b[i+x]=0;
}
for(int i=0;i<a.size();i++)
if ((a[i]=='1')&&!((i+x<a.size()&&b[i+x])||(i>=x&&b[i-x]))){return cout<<-1<<endl,0;}
for(int i=0;i<a.size();i++) cout<<b[i];
cout<<endl;
}
signed main() {
//ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int _ = 1;
cin>>_;
while (_--) {
solve();
}
return 0;
}
D- Zigzags
#include <bits/stdc++.h>
#define int ll
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int MAX = 1e5 + 10;
using namespace std;
int a[3005],cnt[3005][3005];
int solve() {
int n,ans=0;
cin>>n;
for (int i=1; i<=n;++i){
cin>>a[i];
for (int j=1;j<=n;++j) cnt[i][j]=cnt[i-1][j];
cnt[i][a[i]]++;
}
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
ans+=cnt[i-1][a[j]]*(cnt[n][a[i]]-cnt[j][a[i]]);
cout<<ans<<endl;
}
signed main() {
//ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int _ = 1;
cin>>_;
while (_--) {
solve();
}
return 0;
}