Submission #1687994


Source Code Expand

#include<bits/stdc++.h>
#define ll long long
#define N 200009
using namespace std;

int n,len,f[N]; ll l,r,ans[26]; char s[N];
int calc1(ll m,int p){
	int i,t=m%n; m/=n;
	for (i=1; i<=n; i++) ans[s[i]-'a']+=p*m;
	for (i=1; i<=t; i++) ans[s[i]-'a']+=p;
}
void calc2(ll m,int p){
	int i;
	if (m<=(n<<1)){
		for (i=1; i<=m; i++) ans[s[i]-'a']+=p;
		return;
	}
	ll x=n,y=f[n],A=1,B=1,a=1,b=0;
	for (; (x<<1)<=m; y=x-y,x+=y){
		a=A-a; b=B-b;
		A+=a; B+=b;
	}
	for (i=1; i<=f[n]; i++) ans[s[i]-'a']+=A*p;
	for (i=f[n]+1; i<=n; i++) ans[s[i]-'a']+=B*p;
	calc2(m-x,p);
}
int main(){
	scanf("%s",s+1); n=strlen(s+1)>>1;
	int i;
	for (i=2; i<=n; i++){
		f[i]=f[i-1];
		for (; f[i] && s[i]!=s[f[i]+1]; f[i]=f[f[i]]);
		if (s[i]==s[f[i]+1]) f[i]++;
	}
	scanf("%lld%lld",&l,&r);
	if (!(n%(n-f[n]))){
		n-=f[n];
		calc1(r,1); calc1(l-1,-1);
	} else{
		calc2(r,1); calc2(l-1,-1);
	}
	for (i=0; i<26; i++) printf("%lld%c",ans[i],(i<25)?' ':'\n');
	return 0;
}

Submission Info

Submission Time
Task F - SS
User lych_cys
Language C++14 (GCC 5.4.1)
Score 1100
Code Size 988 Byte
Status AC
Exec Time 13 ms
Memory 896 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:28:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s",s+1); n=strlen(s+1)>>1;
                 ^
./Main.cpp:35:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld%lld",&l,&r);
                         ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1100 / 1100
Status
AC × 3
AC × 24
Set Name Test Cases
Sample sample1.txt, sample2.txt, sample3.txt
All mx_100000_1_0.txt, rnd_6_16666_4.txt, rnd_7777_1_0.txt, rnd_7777_1_2289.txt, rnd_7777_1_6444.txt, rnd_7777_9_0.txt, rnd_7777_9_1542.txt, rnd_7777_9_2299.txt, rnd_77_1_0.txt, rnd_77_1_14.txt, rnd_77_1_2.txt, rnd_77_9_0.txt, rnd_77_9_11.txt, rnd_77_9_54.txt, rnd_7_1_0.txt, rnd_7_1_2.txt, rnd_7_1_3.txt, rnd_7_9_0.txt, rnd_7_9_1.txt, rnd_7_9_2.txt, rndmx_100000_1_0.txt, sample1.txt, sample2.txt, sample3.txt
Case Name Status Exec Time Memory
mx_100000_1_0.txt AC 13 ms 768 KB
rnd_6_16666_4.txt AC 8 ms 896 KB
rnd_7777_1_0.txt AC 1 ms 256 KB
rnd_7777_1_2289.txt AC 2 ms 256 KB
rnd_7777_1_6444.txt AC 2 ms 384 KB
rnd_7777_9_0.txt AC 2 ms 640 KB
rnd_7777_9_1542.txt AC 6 ms 640 KB
rnd_7777_9_2299.txt AC 6 ms 640 KB
rnd_77_1_0.txt AC 1 ms 256 KB
rnd_77_1_14.txt AC 1 ms 256 KB
rnd_77_1_2.txt AC 1 ms 256 KB
rnd_77_9_0.txt AC 1 ms 256 KB
rnd_77_9_11.txt AC 1 ms 256 KB
rnd_77_9_54.txt AC 1 ms 256 KB
rnd_7_1_0.txt AC 1 ms 256 KB
rnd_7_1_2.txt AC 1 ms 256 KB
rnd_7_1_3.txt AC 1 ms 256 KB
rnd_7_9_0.txt AC 1 ms 256 KB
rnd_7_9_1.txt AC 1 ms 256 KB
rnd_7_9_2.txt AC 1 ms 256 KB
rndmx_100000_1_0.txt AC 2 ms 768 KB
sample1.txt AC 1 ms 256 KB
sample2.txt AC 1 ms 256 KB
sample3.txt AC 1 ms 256 KB