# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
710287 | ktkerem | Palindromic Partitions (CEOI17_palindromic) | C++17 | 251 ms | 11148 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/*#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 = 1e9+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;
std::string ff , ss;
while(r > l){
fo = ((fo * 31) + (h[l] - 'a' + 1))%limit;
so = (so + ((binpow(31 , ls - 1) * (h[r] - 'a' + 1)) % limit))%limit;
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)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |