제출 #472799

#제출 시각아이디문제언어결과실행 시간메모리
472799AbdoMoLozinke (COCI17_lozinke)C++17
100 / 100
460 ms18352 KiB
#include<bits/stdc++.h> #define int long long #define ll long long #define pb push_back const int mod = 1e9+7; using namespace std; bool comp(string a,string b) { if(a.size()==b.size()) { return a<b; } return a.size()<b.size(); } void solve(){ int n; cin>>n; vector<string>v; map<string,int>freq; map<string,int>freqsb; set<string,decltype(comp)*>st(comp); for(int i=0;i<n;i++) { string s; cin>>s; st.insert(s); set<string>ts; for(int j=0;j<s.size();j++) { for(int k=1;k+j<=s.size();k++) { ts.insert(s.substr(j,k)); } } for(auto it=ts.begin();it!=ts.end();it++) { freqsb[*it]++; } freq[s]++; v.pb(s); } sort(v.begin(),v.end(),comp); int ans=0; int c=1; auto it=st.begin(); for(int i=0;i<n;i+=freq[v[i]],it++) { auto j=it; j++; int x=freq[v[i]]; ans+=x*(x-1); ans+=freq[v[i]]*(freqsb[v[i]]-freq[v[i]]); } cout<<ans<<endl; /* */ } int32_t main(){ int t=1; ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); //cin>>t; while(t--){solve();} return 0; }

컴파일 시 표준 에러 (stderr) 메시지

lozinke.cpp: In function 'void solve()':
lozinke.cpp:28:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |         for(int j=0;j<s.size();j++)
      |                     ~^~~~~~~~~
lozinke.cpp:30:28: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |             for(int k=1;k+j<=s.size();k++)
      |                         ~~~^~~~~~~~~~
lozinke.cpp:44:9: warning: unused variable 'c' [-Wunused-variable]
   44 |     int c=1;
      |         ^
#Verdict Execution timeMemoryGrader output
Fetching results...