# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
152498 | PedroBigMan | Lozinke (COCI17_lozinke) | C++14 | 405 ms | 1528 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
#include <string>
#include <set>
using namespace std;
typedef long long int ll;
typedef unsigned long long int ull;
typedef long double ld;
#define REP(i,a,b) for(ll i=a; i<b; i++)
#define pb push_back
#define mp make_pair
#define pl pair<ll,ll>
#define ff first
#define ss second
#define INF ((ll) pow(2,63) -1)
#define si signed
ll insig;
#define In(vecBRO, LENBRO) REP(IBRO,0,LENBRO) {cin>>insig; vecBRO.pb(insig);}
void Out(vector<ll> x) {REP(i,0,x.size()) {cout<<x[i]<<" ";} cout<<endl;}
ll N, ans; vector<string> str; string s,t; bool eq; set<string> sub; set<string>:: iterator it;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>N; string cur;
REP(i,0,N) {cin>>cur; str.pb(cur);}
ans=0;
sort(str.begin(),str.end());
REP(i,0,N)
{
sub.clear();
REP(l,0,str[i].size())
{
cur="";
REP(r,l,str[i].size())
{
cur+=str[i][r]; sub.insert(cur);
}
}
it=sub.begin();
REP(j,0,sub.size())
{
ans+=(ll) (upper_bound(str.begin(),str.end(),*it)-lower_bound(str.begin(),str.end(),*it));
it++;
}
}
cout<<ans-N<<endl;
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |