/ tabris /

记录详情

Wrong Answer


  
# 状态 耗时 内存占用
#1 Wrong Answer 4ms 304.0 KiB
#2 Wrong Answer 5ms 340.0 KiB
#3 Wrong Answer 5ms 376.0 KiB
#4 Wrong Answer 6ms 340.0 KiB
#5 Wrong Answer 4ms 256.0 KiB
#6 Wrong Answer 60ms 1.207 MiB
#7 Wrong Answer 65ms 1.176 MiB
#8 Wrong Answer 66ms 1.238 MiB
#9 Wrong Answer 59ms 1.453 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 = (1 << (r-l));
				ans += (ll)(s[r]-'0')*cha;
				r++;
			}
		sum = ans;
		while(r < len)
		{
			
			while(r - l + 1 <= k)
			{
				sum += (s[r]-'0');
				r++;
			}
			ans = max(sum,ans);
			if(r>=len)
			break;
			ll res = (1 << (k-1));
			sum -= (ll)(s[l] - '0')*res;
			sum *= 2;
			l++;
		}
		printf("Case #%d: %lld\n",ca++,ans);
	} 
	return 0;
}

信息

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