提出 #53365394
ソースコード 拡げる
#include<iostream>
#include<map>
#include<queue>
#include<set>
#include <algorithm> // std::lower_bound, std::upper_bound, std::sort
#include<bits/stdc++.h>
#define ll long long
#define nl '\n'
// #define md 1000000007LL
using namespace std;
ll md=998244353LL;
ll power(ll b, ll p) {
if(p==0) return 1;
ll x=power(b, p/2)%md;
x=(x*x)%md;
if(p%2) {
x=(x*b)%md;
}
return x;
}
const int K = 26;
struct Vertex {
int next[K];
bool output = false;
int tt=0;
Vertex() {
fill(begin(next), end(next), -1);
}
};
vector<Vertex> trie(1);
int get(string s, int v, int pos) {
if(pos>=s.size()) {
return trie[v].tt*pos;
}
int rt=trie[v].tt*(pos);
char ch=s[pos];
int c = ch - 'a';
if(trie[v].next[c]!=-1) {
rt-=trie[trie[v].next[c]].tt*(pos);
rt+=get(s, trie[v].next[c], pos+1);
}
return rt;
}
void add_string(string s, int v, int pos) {
if(pos>=s.size()) {
trie[v].tt++;
return;
}
char ch=s[pos];
// cout<<ch<<" "<<v<<" "<<pos<<endl;
int c = ch - 'a';
if (trie[v].next[c] == -1) {
trie[v].next[c] = trie.size();
trie.emplace_back();
}
add_string(s, trie[v].next[c], pos+1);
trie[v].tt++;
}
void solve() {
ll n;
cin>>n;
ll ans=0;
for(int i=0;i<n;i++) {
string x;
cin>>x;
ans+=get(x, 0, 0);
add_string(x, 0, 0);
}
cout<<ans<<endl;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t=1;
// cint>>t;
while(t--) {
solve();
}
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Yet Another Sigma Problem |
| ユーザ | tanvirtareq |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 0 |
| コード長 | 1734 Byte |
| 結果 | RE |
| 実行時間 | 1589 ms |
| メモリ | 3626364 KiB |
コンパイルエラー
Main.cpp: In function ‘int get(std::string, int, int)’:
Main.cpp:45:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
45 | if(pos>=s.size()) {
| ~~~^~~~~~~~~~
Main.cpp: In function ‘void add_string(std::string, int, int)’:
Main.cpp:63:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
63 | if(pos>=s.size()) {
| ~~~^~~~~~~~~~
ジャッジ結果
| セット名 | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 500 | ||||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_01.txt, 00_sample_02.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 02_test_01.txt, 02_test_02.txt, 02_test_03.txt, 02_test_04.txt, 02_test_05.txt, 02_test_06.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_01.txt | AC | 1 ms | 3488 KiB |
| 00_sample_02.txt | AC | 1 ms | 3424 KiB |
| 01_test_01.txt | AC | 8 ms | 3336 KiB |
| 01_test_02.txt | AC | 9 ms | 3612 KiB |
| 01_test_03.txt | AC | 9 ms | 3392 KiB |
| 01_test_04.txt | AC | 8 ms | 3328 KiB |
| 01_test_05.txt | AC | 8 ms | 3392 KiB |
| 01_test_06.txt | AC | 9 ms | 3488 KiB |
| 01_test_07.txt | AC | 8 ms | 3452 KiB |
| 01_test_08.txt | AC | 31 ms | 3756 KiB |
| 01_test_09.txt | AC | 31 ms | 3888 KiB |
| 01_test_10.txt | AC | 31 ms | 3892 KiB |
| 01_test_11.txt | AC | 40 ms | 32164 KiB |
| 01_test_12.txt | AC | 39 ms | 32152 KiB |
| 01_test_13.txt | AC | 41 ms | 32212 KiB |
| 01_test_14.txt | AC | 39 ms | 32180 KiB |
| 01_test_15.txt | AC | 40 ms | 32164 KiB |
| 01_test_16.txt | AC | 29 ms | 3836 KiB |
| 01_test_17.txt | AC | 15 ms | 3460 KiB |
| 01_test_18.txt | AC | 11 ms | 3444 KiB |
| 01_test_19.txt | RE | 1589 ms | 3624708 KiB |
| 01_test_20.txt | AC | 40 ms | 5260 KiB |
| 01_test_21.txt | AC | 11 ms | 3576 KiB |
| 01_test_22.txt | AC | 11 ms | 3536 KiB |
| 01_test_23.txt | AC | 12 ms | 3636 KiB |
| 01_test_24.txt | AC | 9 ms | 3580 KiB |
| 01_test_25.txt | AC | 8 ms | 3444 KiB |
| 01_test_26.txt | AC | 8 ms | 3532 KiB |
| 01_test_27.txt | AC | 11 ms | 6836 KiB |
| 01_test_28.txt | AC | 11 ms | 6792 KiB |
| 01_test_29.txt | AC | 13 ms | 10320 KiB |
| 01_test_30.txt | AC | 14 ms | 10336 KiB |
| 01_test_31.txt | AC | 31 ms | 4352 KiB |
| 01_test_32.txt | AC | 33 ms | 4408 KiB |
| 01_test_33.txt | AC | 31 ms | 4084 KiB |
| 01_test_34.txt | AC | 1286 ms | 167604 KiB |
| 01_test_35.txt | RE | 1455 ms | 3625604 KiB |
| 01_test_36.txt | RE | 1467 ms | 3624832 KiB |
| 01_test_37.txt | RE | 1452 ms | 3626364 KiB |
| 01_test_38.txt | AC | 16 ms | 5404 KiB |
| 01_test_39.txt | AC | 1 ms | 3364 KiB |
| 01_test_40.txt | AC | 8 ms | 3504 KiB |
| 02_test_01.txt | AC | 16 ms | 17456 KiB |
| 02_test_02.txt | AC | 20 ms | 17464 KiB |
| 02_test_03.txt | AC | 19 ms | 17480 KiB |
| 02_test_04.txt | AC | 19 ms | 17408 KiB |
| 02_test_05.txt | AC | 19 ms | 17488 KiB |
| 02_test_06.txt | AC | 19 ms | 17400 KiB |