/ tabris /

记录详情

Wrong Answer


  
# 状态 耗时 内存占用
#1 Wrong Answer 3ms 352.0 KiB
#2 Wrong Answer 6ms 372.0 KiB
#3 Wrong Answer 3ms 256.0 KiB
#4 Wrong Answer 5ms 344.0 KiB
#5 Wrong Answer 4ms 368.0 KiB
#6 Wrong Answer 65ms 1.41 MiB
#7 Wrong Answer 58ms 1.242 MiB
#8 Wrong Answer 65ms 1.332 MiB
#9 Wrong Answer 60ms 1.324 MiB

代码

#include<bits/stdc++.h>

using namespace std;

const int maxn = 1e6+5;
char s[maxn];
typedef long long ll;
ll k;

int main()
{
	int _;
	cin>>_;
	int ca = 1;
	while(_--)
	{
		scanf("%lld",&k);
		scanf("%s",s);
		if(k==0)
		{
			printf("Case #%d: 0\n",ca++);
			continue;
		}
		ll len = strlen(s);
		ll sum = 0;
		ll ans = 0;
		ll l = 0,r = 0;
		while(r < len && r-l+1 <=k)
			{
				ll cha = (1ll << (r-l));
				ans += 1ll*(s[r]-'0')*cha;
				r++;
			}
		sum = ans;
		while(r < len)
		{
			
			while(r - l + 1 <= k)
			{
				sum += 1ll*(s[r]-'0');
				r++;
			}
			ans = max(sum,ans);
			if(r>=len)
			break;
			ll res = (1ll << (k-1));
			sum -= 1ll*(s[l] - '0')*res;
			sum *= 2;
			l++;
		}
		printf("Case #%d: %lld\n",ca++,ans);
	} 
	return 0;
}

信息

递交者
类型
递交
题目
幸运大奖
语言
C++
递交时间
2017-09-10 23:17:56
评测时间
2017-09-10 23:17:56
评测机
分数
0
总耗时
273ms
峰值内存
1.41 MiB