제출 #226680

#제출 시각아이디문제언어결과실행 시간메모리
226680keta_tsimakuridzePalindromic Partitions (CEOI17_palindromic)C++14
100 / 100
551 ms19044 KiB
#include<bits/stdc++.h> using namespace std; long long mod,p,t,k,i,pwr[1000005],j,s1,s2,cur,ans; string s; int main(){ cin>>t; p=31; mod=1e9+7; pwr[1]=1; for(k=2;k<=1000005;k++){ pwr[k]=pwr[k-1]*p%mod; } while(t--){ cin>>s; j=s.size()-1; cur=1; for(i=0;i<(s.size())/2;i++){ s1+=pwr[cur]*((int)s[i]-'a'+1); s1%=mod; s2=s2*p%mod+((int)s[j]-'a'+1); s2%=mod; if(s1==s2){ cur=1; s1=s2=0; ans+=2; }else cur++; j--; } s2=s1=0; if(cur!=1 || s.size()%2==1) cout<<ans+1<<endl; else cout<<ans<<endl; ans=0; } }

컴파일 시 표준 에러 (stderr) 메시지

palindromic.cpp: In function 'int main()':
palindromic.cpp:17:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(i=0;i<(s.size())/2;i++){
           ~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...