結果
問題 | No.1994 Confusing Name |
ユーザー | Endered |
提出日時 | 2022-07-20 19:43:14 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 352 ms / 2,000 ms |
コード長 | 5,570 bytes |
コンパイル時間 | 2,172 ms |
コンパイル使用メモリ | 195,516 KB |
実行使用メモリ | 14,844 KB |
最終ジャッジ日時 | 2024-07-02 13:59:00 |
合計ジャッジ時間 | 7,936 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
5,248 KB |
testcase_01 | AC | 2 ms
5,376 KB |
testcase_02 | AC | 2 ms
5,376 KB |
testcase_03 | AC | 2 ms
5,376 KB |
testcase_04 | AC | 2 ms
5,376 KB |
testcase_05 | AC | 3 ms
5,376 KB |
testcase_06 | AC | 6 ms
5,376 KB |
testcase_07 | AC | 2 ms
5,376 KB |
testcase_08 | AC | 4 ms
5,376 KB |
testcase_09 | AC | 6 ms
5,376 KB |
testcase_10 | AC | 4 ms
5,376 KB |
testcase_11 | AC | 3 ms
5,376 KB |
testcase_12 | AC | 328 ms
14,844 KB |
testcase_13 | AC | 343 ms
11,748 KB |
testcase_14 | AC | 335 ms
11,280 KB |
testcase_15 | AC | 280 ms
9,856 KB |
testcase_16 | AC | 250 ms
8,960 KB |
testcase_17 | AC | 263 ms
9,984 KB |
testcase_18 | AC | 340 ms
11,884 KB |
testcase_19 | AC | 339 ms
11,828 KB |
testcase_20 | AC | 352 ms
11,784 KB |
testcase_21 | AC | 66 ms
5,376 KB |
testcase_22 | AC | 29 ms
5,376 KB |
testcase_23 | AC | 295 ms
11,264 KB |
testcase_24 | AC | 302 ms
11,136 KB |
testcase_25 | AC | 174 ms
8,320 KB |
testcase_26 | AC | 84 ms
6,016 KB |
testcase_27 | AC | 259 ms
10,624 KB |
testcase_28 | AC | 200 ms
8,576 KB |
testcase_29 | AC | 23 ms
5,376 KB |
testcase_30 | AC | 218 ms
9,340 KB |
ソースコード
#include<bits/stdc++.h> #define rep(i,a,...) for(int i = (a)*(strlen(#__VA_ARGS__)!=0);i<(int)(strlen(#__VA_ARGS__)?__VA_ARGS__:(a));++i) #define per(i,a,...) for(int i = (strlen(#__VA_ARGS__)?__VA_ARGS__:(a))-1;i>=(int)(strlen(#__VA_ARGS__)?(a):0);--i) #define foreach(i, n) for(auto &i:(n)) #define all(x) (x).begin(), (x).end() #define bit(x) (1ll << (x)) #define lambda(RES_TYPE, ...) (function<RES_TYPE(__VA_ARGS__)>)[&](__VA_ARGS__) -> RES_TYPE #define method(FUNC_NAME, RES_TYPE, ...) function<RES_TYPE(__VA_ARGS__)> FUNC_NAME = lambda(RES_TYPE, __VA_ARGS__) using namespace std; using ll = long long; using pii = pair<int,int>; using pll = pair<ll,ll>; //const ll MOD = (ll)1e9+7; const ll MOD = 998244353; const int INF = (ll)1e9+7; const ll INFLL = (ll)1e18; template<class t> using vvector = vector<vector<t>>; template<class t> using vvvector = vector<vector<vector<t>>>; template<class t> using priority_queuer = priority_queue<t, vector<t>, greater<t>>; template<class t, class u> bool chmax(t &a, u b){if(a<b){a=b;return true;}return false;} template<class t, class u> bool chmin(t &a, u b){if(a>b){a=b;return true;}return false;} #ifdef DEBUG #define debug(x) cout<<"LINE "<<__LINE__<<": "<<#x<<" = "<<x<<endl; #else #define debug(x) (void)0 #endif namespace templates{ ll modpow(ll x, ll b,ll mod=MOD){ ll res = 1; while(b){ if(b&1)res = res * x % mod; x = x * x % mod; b>>=1; } return res; } ll modinv(ll x){ return modpow(x, MOD-2); } bool was_output = false; void print(); template <class t> void print(const vector<t> &); template <class t, class u> void print(const pair<t, u> &); template <class t> void print(const t&); template <class Head, class... Tail> void print(const Head&, const Tail&...); template <class t> void println(const vector<vector<t>>&); template <class t> void println(const vector<t>&); template <class t> void println(const t&); template <class Head, class... Tail> void println(const Head&, const Tail&...); void println(); void newline(); void print(){ return; } template <class t> void print(const vector<t>&x){ for(const t&i:x)print(i); } template <class t, class u> void print(const pair<t,u>&p){ print(p.first); print(p.second); } template <class t> void print(const t&x){ if(was_output)cout<<" "; cout<<x; was_output = true; } template <class Head, class... Tail> void print(const Head&head,const Tail&...tail){ print(head); print(tail...); } template<class t> void println(const vector<vector<t>>&x){ for(vector<t> i:x)println(i); } template<class t> void println(const vector<t>&x){ for(const t&i:x)print(i); println(); } template <class t> void println(const t&x){ print(x); println(); } void println(){ if(was_output){ cout << endl; was_output = false; } } template <class Head, class... Tail> void println(const Head&head,const Tail&...tail){ print(head); println(tail...); } void newline(){ was_output = true; println(); } template<class t> istream& operator>>(istream&is, vector<t>&x){ for(auto &i:x)is >> i; return is; } template<class t, class u> istream& operator>>(istream&is, pair<t, u>&x){ is >> x.first >> x.second; return is; } template<class t> ostream& operator<<(ostream&os, vector<t> &v){ os << "{"; for(t &i:v){ os << i << ", "; } os << "}"; return os; } template<class t = long long> t in(){ t res; cin >> res; return res; } template<class t> vector<t> sorted(vector<t> line,function<bool(t,t)> comp=[](t a,t b){return a<b;}){ sort(line.begin(),line.end(),comp); return line; } template<class t> vector<t> reversed(vector<t> line){ reverse(line.begin(),line.end()); return line; } string reversed(string str){ reverse(str.begin(),str.end()); return str; } long long gcd(long long a,long long b){ while(b){ a %= b; swap(a,b); } return a; } long long lcm(long long a,long long b){ return a / gcd(a,b) * b; } class output_initializer{ public: output_initializer(){ ios::sync_with_stdio(false); cin.tie(nullptr); cout << setprecision(20); } };output_initializer OUTPUT_INITIALIZER_INSTANCE = output_initializer(); } using namespace templates; vector<int> func(){ int n = in(); map<int,vector<string>> s; vector<string> names(n); vector<int> res(n,0); map<string,int> StoI; rep(i,n){ names[i] = in<string>(); s[names[i].size()].emplace_back(names[i]); StoI[names[i]] = i; } foreach(i,s){ rep(j,i.first){ map<string,vector<string>> table; foreach(k,i.second){ table[k.substr(0,j) + k.substr(j+1)].emplace_back(k); } foreach(k,table){ foreach(l,k.second){ res[StoI[l]] += k.second.size()-1; } } } } return res; } int main(){ foreach(i,func())println(i); return 0; }