AtCoder Beginner Contest 098/AtCoder Regular Contest 098

はい。
https://beta.atcoder.jp/contests/abc098

A - Add Sub Mul

C++

#include<bits/stdc++.h>
 
using namespace std;
 
#define PI 3.1415926535897932
 
int main(){
    int mod=1000000007;
    //int ans=-1000*1000;
    int a,b;
    scanf("%d %d",&a,&b);
    int ans=max(a+b,max(a-b,a*b));
    printf("%d\n",ans);
    
 
    return 0;
}

全部試して確認する。

B - Cut and Count

Python3

n=int(input())
s=input()
ans=0
for i in range(1,n):
    ans=max(ans,len(set(s[:i])&set(s[i:])))
print(ans)

左から右に遷移していって左側文字列と右側文字列をそれぞれsetに放り込んで共通する文字を調べた。C++とかで書こうとすると多重ループで力技で調べるっぽい気がするけど不明。

C - Attention

Python3

n=int(input())
s=input()
ans=s.count("E")
if s[0]=="E": ans-=1
chk=ans
for a,i in enumerate(s[1:]):
    if i=="E": chk-=1
    if s[a]=="W": chk+=1
    ans=min(ans,chk)
print(ans)

一番西側にいるときは東側にいるEをカウントする。1人ずつずらしていってEを減算していって、西側にWが発生すると加算をしていく感じで大丈夫だと思う。