AtCoder Beginner Contest 098/AtCoder Regular Contest 098
はい。
https://beta.atcoder.jp/contests/abc098
A - Add Sub Mul
#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が発生すると加算をしていく感じで大丈夫だと思う。