Submission #5674892
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define ld long double
#define mod 1000000007
#define eps 1e-13
// #define PI 3.141592653589793238L
#define INF 1000000011
#define INFLL 1000000000000000011LL
#define vi vector<int>
#define vll vector<long long>
#define pii pair<int, int>
#define pll pair<long long, long long>
#define pil pair<int, long long>
#define pli pair<long long, int>
#define mp make_pair
#define F first
#define S second
#define pb push_back
#define fo(i,a,n) for(i = (a); i < (n); i++)
#define gtl(x) getline(cin, (x))
#define flsh fflush(stdout)
#define sws ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define gcd __gcd
#define all(a) (a).begin(), (a).end()
#define sz(a) (int)((a).size())
#define io_file freopen("D:/Coding Problems/Contest/input_file.in", "r", stdin); freopen("D:/Coding Problems/Contest/output_file.out", "w", stdout)
ll modx(ll Base, ll exponent)
{
ll ans = 1;
if(Base == 1)
return Base;
while(exponent)
{
if(exponent & 1)
ans = (ans * Base)%mod;
Base = (Base * Base)%mod;
exponent = exponent >> 1;
}
return ans;
}
ll inmodx(ll num)
{
return (modx(num, mod-2LL));
}
bool cmp(pair < vi, int > a, pair < vi, int > b)//true for a before b
{
if(a.F.empty())
return 1;
if(b.F.empty())
return 0;
int i;
fo(i,0,min(sz(a.F),sz(b.F)))
{
if(a.F[i] < b.F[i])
return 1;
else if(a.F[i] > b.F[i])
return 0;
}
return (sz(a.F) <= sz(b.F));
}
const int N = (2e5) + 9;
const int M = (N<<2) + 9;
const int LOGN = ((int)log2(N)) + 3;
const int LOGM = ((int)log2(M)) + 3;
const int BUCK = 900;
const int SQRT = BUCK+9;
string s;
int cnt[26];
void solve()
{
int n, i, j;
ll ans = 1;
cin >> s;
n = s.length();
for(i = n-1; i >= 0; i--)
{
fo(j,0,26)
if(j != s[i]-'a')
ans += cnt[j];
cnt[s[i]-'a']++;
}
cout << ans << '\n';
return;
}
int main()
{
sws;
clock_t clk;
clk = clock();
// io_file;
// srand (time(NULL));
//Code here
int t = 1, cs;
cout << fixed << setprecision(9);
// cin >> t;
fo(cs,1,t+1)
{
// cout << "Case #" << cs << ": ";
solve();
}
// Code ends here
clk = clock() - clk;
cerr << fixed << setprecision(6) << "Time: " << ((double)clk)/CLOCKS_PER_SEC << "\n";
return 0;
}
Submission Info
Submission Time |
|
Task |
B - Reverse and Compare |
User |
vjudge3 |
Language |
C++14 (GCC 5.4.1) |
Score |
500 |
Code Size |
2261 Byte |
Status |
AC |
Exec Time |
12 ms |
Memory |
720 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
500 / 500 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
All |
sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt |
Case Name |
Status |
Exec Time |
Memory |
sample_01.txt |
AC |
1 ms |
256 KB |
sample_02.txt |
AC |
1 ms |
256 KB |
sample_03.txt |
AC |
1 ms |
256 KB |
subtask_1_01.txt |
AC |
1 ms |
256 KB |
subtask_1_02.txt |
AC |
11 ms |
720 KB |
subtask_1_03.txt |
AC |
1 ms |
256 KB |
subtask_1_04.txt |
AC |
1 ms |
256 KB |
subtask_1_05.txt |
AC |
1 ms |
256 KB |
subtask_1_06.txt |
AC |
1 ms |
256 KB |
subtask_1_07.txt |
AC |
2 ms |
256 KB |
subtask_1_08.txt |
AC |
12 ms |
720 KB |
subtask_1_09.txt |
AC |
11 ms |
720 KB |
subtask_1_10.txt |
AC |
12 ms |
720 KB |
subtask_1_11.txt |
AC |
12 ms |
720 KB |
subtask_1_12.txt |
AC |
11 ms |
720 KB |
subtask_1_13.txt |
AC |
11 ms |
720 KB |
subtask_1_14.txt |
AC |
10 ms |
720 KB |
subtask_1_15.txt |
AC |
11 ms |
720 KB |
subtask_1_16.txt |
AC |
12 ms |
720 KB |
subtask_1_17.txt |
AC |
11 ms |
720 KB |