Submission #710257

#TimeUsernameProblemLanguageResultExecution timeMemory
710257ktkeremPalindromic Partitions (CEOI17_palindromic)C++17
0 / 100
2 ms340 KiB
/*#pragma GCC target ("avx2") #pragma GCC optimize ("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize ("unroll-loops") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")/**/ #include<bits/stdc++.h> typedef long long ll; typedef long double ld; #define llll std::pair<ll , ll> #define pb push_back #define fi first #define sec second #define all(a) a.begin() , a.end() #define debug std::cout << "!!ALERT ALERT!!" << std::endl; const ll limit = 1e18+7; const ll sus = 1e5 + 5; std::mt19937 rng(std::chrono::steady_clock::now().time_since_epoch().count()); ll rnd(ll a , ll b){ return (rng() % (b-a+1)) + a; } /*global variables*/ ll n;std::string h; ll t = 1; /**/ /*functions*/ ll binpow(ll x , ll y){ ll g = 1; while(y){ if(y & 1){ g*=x; g%=limit; } x*=x; x%=limit;y/=2; } return g; } /**/ void solve(){ std::cin >> h; n = h.size(); ll fo = 0 ,so = 0; ll l = 0 , r = n-1; ll ls = 1; ll ans = 1; while(r > l){ fo = ((fo * 31) + (h[l] - 'a' + 1))%limit; so = (so + (binpow(31 , ls - 1) * (h[r] - 'a' + 1)))%limit; //std::cout << fo << " " << so << "\n"; if(fo == so){ if(r-1 == l){ ans--; } ans+=2; fo = 0;so = 0; ls = 0; } r--;l++; ls++; } std::cout << ans; if(t != 0){ std::cout << std::endl; } return;/**/ } int main(){ std::ios_base::sync_with_stdio(false);std::cin.tie(NULL); #ifndef ONLINE_JUDGE freopen("in.txt" , "r" , stdin); freopen("out.txt" , "w" , stdout); #endif std::cin >> t; while(t--){ solve(); } }

Compilation message (stderr)

palindromic.cpp:5:78: warning: "/*" within comment [-Wcomment]
    5 | #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")/**/
      |                                                                               
palindromic.cpp: In function 'int main()':
palindromic.cpp:70:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   70 |         freopen("in.txt" , "r" , stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
palindromic.cpp:71:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   71 |         freopen("out.txt" , "w" , stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...