結果

問題 No.145 yukiover
ユーザー fura
提出日時 2020-06-07 15:40:28
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 10 ms / 5,000 ms
コード長 818 bytes
コンパイル時間 2,782 ms
コンパイル使用メモリ 192,820 KB
最終ジャッジ日時 2025-01-10 23:53:02
ジャッジサーバーID
(参考情報)
judge4 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

#define rep(i,n) for(int i=0;i<(n);i++)

using namespace std;

int main(){
	int n;
	string s; cin>>n>>s;

	int hist[128]={};
	for(char c:s) hist[c]++;

	int ans=0;
	rep(x0,hist['y']+1){
		int tmp[128];
		copy(hist,hist+128,tmp);

		int res=0,x=x0,t;
		for(int c='v';c<'y';c++){
			t=min(x,hist[c]);
			res+=t;
			x-=t;
		}
		t=min(x,hist['u']);
		x=t;
		hist['u']-=t;
		for(int c='l';c<='u';c++){
			t=min(x,hist[c]);
			res+=t;
			x-=t;
		}
		t=min(x,hist['k']);
		x=t;
		hist['k']-=t;
		for(int c='j';c<='k';c++){
			t=min(x,hist[c]);
			res+=t;
			x-=t;
		}
		t=min(x,hist['i']);
		x=t;
		hist['i']-=t;
		for(int c='a';c<='i';c++){
			t=min(x,hist[c]);
			res+=t;
			x-=t;
		}
		ans=max(ans,res+hist['z']+(hist['y']-x0)/2);

		copy(tmp,tmp+128,hist);
	}
	printf("%d\n",ans);

	return 0;
}
0