сиськи
-
Автор темы
- #1
Задача 5: Древнее имя
Катя очень любит историю, поэтому ей подарили книгу про древние индейские имена. В книге утверждается, что коэффициент древности имени равен количеству таких пар букв имени, что первая буква пары стоит в имени раньше второй, и при этом первая буква пары и в алфавите стоит раньше второй.
Катя так восхитилась данным способом, что сразу же захотела подсчитать древность своего любимого индейского имени.
Входные данные
В первой строке входных данных содержится целое число N (1 ≤ N ≤ 105) — длина любимого индейского имени Кати.
Во второй строке содержится последовательность из N строчных букв английского алфавита — любимое индейское имя Кати.
Выходные данные
Выведите единственное целое число — коэффициент древности имени.
Обратите внимание, что при данных ограничениях ответ может быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные числа (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#).
код:
Программа не проходит, потому что превышено максимальное время работы, что можно сделать с программой?
Катя очень любит историю, поэтому ей подарили книгу про древние индейские имена. В книге утверждается, что коэффициент древности имени равен количеству таких пар букв имени, что первая буква пары стоит в имени раньше второй, и при этом первая буква пары и в алфавите стоит раньше второй.
Катя так восхитилась данным способом, что сразу же захотела подсчитать древность своего любимого индейского имени.
Входные данные
В первой строке входных данных содержится целое число N (1 ≤ N ≤ 105) — длина любимого индейского имени Кати.
Во второй строке содержится последовательность из N строчных букв английского алфавита — любимое индейское имя Кати.
Выходные данные
Выведите единственное целое число — коэффициент древности имени.
Обратите внимание, что при данных ограничениях ответ может быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные числа (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#).
код:
C++:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
string s;
cin>>n>>s;
int x=0;
for(int i=0; i<s.size(); i++)
for(int j=i; j<s.size(); j++)
if(char(s[i])<char(s[j]))x++;
cout<<x;
return 0;
}