记录编号 115320 评测结果 AAAAAAAAAAAAAAAA
题目名称 90.翻译玛雅著作 最终得分 100
用户昵称 sqyon 是否通过 通过
代码语言 C++ 运行时间 0.092 s
提交时间 2014-08-17 19:24:56 内存使用 3.18 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>

using namespace std;

int g[500],d[500],sg,sw;
char w[3000050];

void init()
{
	scanf("%d %d", &sg, &sw);
	scanf("\n");
	char tmp;
	for (int i = 0; i < sg; i++)
	{
		scanf("%c", &tmp);
		tmp -= 'A';
		g[tmp]++;
	}
	scanf("%s",w);
	return ;
}

int ans,l,r;

void solve()
{
	while (r <= sw)
	{
		if (d[w[r] - 'A'] >= g[w[r] - 'A'])
		{
			if (!g[w[r] - 'A'])
			{
				l = ++r;
				memset(d, 0, sizeof(d));
				continue;
			}
			d[w[l++] - 'A']--;
			continue;
		}
		
		if (r - l + 1 == sg)
		{
			ans++;
			d[w[l++] - 'A']--;
			d[w[r++] - 'A']++;
			continue;
		}
		
		d[w[r++] - 'A']++;
	}
	return ;
}

int main()
{
	freopen("writing.in", "r", stdin);
	freopen("writing.out", "w", stdout);
	//freopen("in.txt","r",stdin);
	init();
	solve();
	printf("%d",ans);
	return 0;
}