Submission #951888

#TimeUsernameProblemLanguageResultExecution timeMemory
951888Sputnik123Utrka (COCI14_utrka)C++14
0 / 80
1 ms8540 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include <string.h> #include <stdio.h> #include <algorithm> #include <vector> #include <functional> #include <cstdio> #define pb push_back #define in insert #define pll pair<ll,ll> #define vpl vector<pll> #define vll vector <ll> #define vl vector<ll> ///#define mp make_pair #define F first #define S second #define all(v) v.begin(),v.end() #define endl "\n" #define ll long long #define ull unsigned long long using namespace std; using namespace __gnu_pbds; #pragma GCC optimize("Ofast,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt,fma") const ll sz=1e5+5; const ll inf=1e9+7; const ll mod=1e9+7; const ll P=47; namespace number_theory { ll gcd(ll x, ll y) { if (x == 0) return y; if (y == 0) return x; return gcd(y, x % y); } ll lcm(ll x,ll y) { return (x/gcd(x,y))*y; } bool isprime(ll n) { if (n <= 1) return false; if (n <= 3) return true; if (n % 2 == 0 || n % 3 == 0) return false; for (ll i = 5; i * i <= n; i += 6) if (n % i == 0 || n % (i+2) == 0) return false; return true; } bool prime[15000105]; void sieve(int n) { for (ll i = 0; i <= n; i++) prime[i] = 1; for (ll p = 2; p * p <= n; p++) { if (prime[p] == true) { for (ll i = p * p; i <= n; i += p) prime[i] = false; } } prime[1] = prime[0] = 0; } vector<ll> primelist; bool __primes_generated__ = 0; void genprimes(int n) { __primes_generated__ = 1; sieve(n + 1); for (ll i = 2; i <= n; i++) if (prime[i]) primelist.push_back(i); } vector<ll> factors(ll n) { if (!__primes_generated__) { cerr << "False" << endl; exit(1); } vector<ll> facs; for (ll i = 0; primelist[i] * primelist[i] <= n && i < primelist.size(); i++) { if (n % primelist[i] == 0) { while (n % primelist[i] == 0) { n /= primelist[i]; facs.push_back(primelist[i]); } } } if (n > 1) { facs.push_back(n); } sort(facs.begin(), facs.end()); return facs; } vector<ll> getdivs(ll n) { vector<ll> divs; for (ll i = 1; i * i <= n; i++) { if (n % i == 0) { divs.push_back(i); divs.push_back(n / i); } } set <ll> s; for(ll i: divs) s.in(i); vll res; for(auto i: s) res.pb(i); return res; } } namespace modop { ll madd(ll a, ll b) { return (a + b) % mod; } ll msub(ll a, ll b) { return (((a - b) % mod) + mod) % mod; } ll mmul(ll a, ll b) { return ((a % mod) * (b % mod)) % mod; } ll mpow(ll base, ll exp) { ll res = 1; while (exp) { if (exp % 2 == 1){ res = (res * base) % mod; } exp >>= 1; base = (base * base) % mod; } return res; } ll minv(ll base) { return mpow(base, mod - 2); } ll mdiv(ll a, ll b) { return mmul(a, minv(b)); } const ll FACTORIAL_SIZE = 1.1e6; ll fact[FACTORIAL_SIZE], ifact[FACTORIAL_SIZE]; bool __factorials_generated__ = 0; void gen_factorial(ll n) { __factorials_generated__ = 1; fact[0] = fact[1] = ifact[0] = ifact[1] = 1; for (ll i = 2; i <= n; i++) { fact[i] = (i * fact[i - 1]) % mod; } ifact[n] = minv(fact[n]); for (ll i = n - 1; i >= 2; i--) { ifact[i] = ((i + 1) * ifact[i + 1]) % mod; } } ll nck(ll n, ll k) { if (!__factorials_generated__) { cerr << "Call gen_factorial you dope" << endl; exit(1); } if (k < 0 || n < k) return 0; ll den = (ifact[k] * ifact[n - k]) % mod; return (den * fact[n]) % mod; } } using namespace modop; using namespace number_theory; vll g[sz]; ll cnt=0; ll sub[sz]; void dfs(ll node,ll par,ll x) { sub[node]=1; for(ll i: g[node]) { if(i==par) continue; dfs(i,node,x); sub[node]+=sub[i]; } if(sub[node]>=x) { sub[node]=0; cnt++; } } void solve() { ll n; cin>>n; string s; cin>>s; map <string,ll> mp; for(ll i=1;i<n;i++) { cin>>s; mp[s]++; } for(auto i: mp) { if(i.S==1) { cout<<i.F<<endl; return ; } } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); ll t=1; ///cin>>t; while(t--) { solve(); } }

Compilation message (stderr)

utrka.cpp: In function 'std::vector<long long int> number_theory::factors(long long int)':
utrka.cpp:82:57: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   82 |    for (ll i = 0; primelist[i] * primelist[i] <= n && i < primelist.size(); i++) {
      |                                                       ~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...