Submission #41045181


Source Code Expand

//This code is written by hmz,and hmz is cute!!!
#include<bits/stdc++.h>
using namespace std;
#define TY long long
#define umap unordered_map
#define ull unsigned long long
#define pq priority_queue
#define mp make_pair
#define mod (TY)(1e9+7)
#define MAXN 600005
#define MAXM 600005
#define MAXK 27
#define INF (TY)1e9
#define Birthday 20090321
#define Read(name) freopen(#name,"r",stdin);
#define Write(name) freopen(#name,"w",stdout);
#define For(i,a,b) for(TY i=(a);i<=(b);++i)
#define FOR(i,a,b) for(TY i=(a);i<(b);++i)
#define Rof(i,a,b) for(TY i=(a);i>=(b);--i)
#define ROF(i,a,b) for(TY i=(a);i>(b);--i)
inline TY qr(){
	TY x=0,f=1;char op=getchar();
	for(;op<'0'||op>'9';op=getchar())if(op=='-')f=-1;
	for(;op>='0'&&op<='9';op=getchar())x=x*10+(op^48);
	return x*f;
}inline bool ischar(char op){
	if(op=='o'||op=='x')return true;
	return false;
}inline char getc(){
	char op=getchar();
	while(!ischar(op))op=getchar();
	return op;
}inline string qs(){
	string op="";char u=getchar();
	while(!ischar(u))u=getchar();
	while(ischar(u))op+=u,u=getchar();
	return op;
}inline void qw(TY x){
	if(!x){putchar('0');return;}
	if(x<0)putchar('-'),x=-x;
	if(x>=10)qw(x/10);putchar(x%10+'0');
}inline void qw(TY x,char op){qw(x),putchar(op);}
inline void ws(string s){FOR(i,0,s.size())putchar(s[i]);}
inline TY Ceil(TY a,TY b){return a/b+(a%b!=0);}
inline TY Mod(TY a){return (a>=mod?a-mod:a);}
inline TY Abs(TY a,TY b){return a>b?a-b:b-a;}
inline TY Pow(TY a,TY b){
	TY ans=1,base=a;
	while(b){
		if(b&1)ans=ans*base%mod;
		base=base*base%mod;b>>=1;
	}return ans;
}TY n,m,k,ans,a[MAXN],b[MAXN];string s;
inline TY check(TY now){
	TY sum=0;For(i,0,min(n,now))sum=max(sum,a[i]+b[now-i]);
	return sum;
}int main(){
	n=qr();m=qr();k=qr();
	s=qs();TY cnt=0;
	FOR(i,0,s.size())cnt+=s[i]=='x';
	TY need=k/cnt;if(need==m){qw(n*m);return 0;}
	TY c=0;FOR(i,0,s.size()){
		if(s[i]=='x')++c,a[c-1]=i;
	}c=0;Rof(i,s.size()-1,0){
		if(s[i]=='x')++c,b[c-1]=s.size()-1-i;
	}a[cnt]=b[cnt]=n;
	if(need==m-1)ans=max(ans,need*n+max(a[k%cnt],b[k%cnt]));
	else ans=max(ans,need*n+check(k%cnt));
	if(need)ans=max(ans,(need-1)*n+check(k%cnt+cnt));
	else{
		For(i,k,cnt){
			if(i==k)ans=max(ans,a[i]);
			else ans=max(ans,a[i]-a[i-k-1]-1);
		}
	}qw(ans);
    return 0;
}

Submission Info

Submission Time
Task F - More Holidays
User hmzqwq
Language C++ (GCC 9.2.1)
Score 500
Code Size 2319 Byte
Status AC
Exec Time 16 ms
Memory 8392 KiB

Compile Error

./Main.cpp: In function ‘void qw(long long int)’:
./Main.cpp:41:2: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
   41 |  if(x>=10)qw(x/10);putchar(x%10+'0');
      |  ^~
./Main.cpp:41:20: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
   41 |  if(x>=10)qw(x/10);putchar(x%10+'0');
      |                    ^~~~~~~
./Main.cpp: In function ‘void ws(std::string)’:
./Main.cpp:18:34: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   18 | #define FOR(i,a,b) for(TY i=(a);i<(b);++i)
      |                                  ^
./Main.cpp:43:26: note: in expansion of macro ‘FOR’
   43 | inline void ws(string s){FOR(i,0,s.size())putchar(s[i]);}
      |                          ^~~
./Main.cpp: In function ‘int main()’:
./Main.cpp:18:34: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   18 | #define FOR(i,a,b) for(TY i=(a);i<(b);++i)
      |                                  ^
./Main.cpp:60:2: note: in expansion of macro ‘FOR’
   60 |  FOR(i,0,s.size())cnt+=s[i]=='x';
      |  ^~~
./Main.cpp:18:34: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   18 | #define FOR(i,a,b) for(TY i=(a);i<(b);++i)
      |                                  ^
./Main.cpp:62:9: note: in expansion of macro ‘FOR’
   62 |  TY c=0;FOR(i,0,s.size()){
      |         ^~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 49
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt
Case Name Status Exec Time Memory
sample_01.txt AC 7 ms 3520 KiB
sample_02.txt AC 2 ms 3404 KiB
sample_03.txt AC 2 ms 3568 KiB
test_01.txt AC 2 ms 3552 KiB
test_02.txt AC 2 ms 3528 KiB
test_03.txt AC 12 ms 5364 KiB
test_04.txt AC 7 ms 4636 KiB
test_05.txt AC 13 ms 6992 KiB
test_06.txt AC 6 ms 5184 KiB
test_07.txt AC 16 ms 6836 KiB
test_08.txt AC 12 ms 6020 KiB
test_09.txt AC 15 ms 6956 KiB
test_10.txt AC 11 ms 4280 KiB
test_11.txt AC 14 ms 5480 KiB
test_12.txt AC 5 ms 3632 KiB
test_13.txt AC 13 ms 5860 KiB
test_14.txt AC 12 ms 5612 KiB
test_15.txt AC 13 ms 3932 KiB
test_16.txt AC 5 ms 3812 KiB
test_17.txt AC 15 ms 7480 KiB
test_18.txt AC 12 ms 5872 KiB
test_19.txt AC 10 ms 3704 KiB
test_20.txt AC 7 ms 3676 KiB
test_21.txt AC 8 ms 3784 KiB
test_22.txt AC 4 ms 3664 KiB
test_23.txt AC 12 ms 6664 KiB
test_24.txt AC 5 ms 4620 KiB
test_25.txt AC 14 ms 7048 KiB
test_26.txt AC 9 ms 5724 KiB
test_27.txt AC 8 ms 3616 KiB
test_28.txt AC 8 ms 6372 KiB
test_29.txt AC 11 ms 8388 KiB
test_30.txt AC 8 ms 5744 KiB
test_31.txt AC 11 ms 8380 KiB
test_32.txt AC 7 ms 3748 KiB
test_33.txt AC 8 ms 3740 KiB
test_34.txt AC 10 ms 8384 KiB
test_35.txt AC 11 ms 7344 KiB
test_36.txt AC 7 ms 4116 KiB
test_37.txt AC 13 ms 6436 KiB
test_38.txt AC 4 ms 3812 KiB
test_39.txt AC 10 ms 8392 KiB
test_40.txt AC 9 ms 4184 KiB
test_41.txt AC 8 ms 4280 KiB
test_42.txt AC 10 ms 7504 KiB
test_43.txt AC 10 ms 3792 KiB
test_44.txt AC 11 ms 6608 KiB
test_45.txt AC 15 ms 6108 KiB
test_46.txt AC 9 ms 6484 KiB