Submission #899636

#TimeUsernameProblemLanguageResultExecution timeMemory
899636pccDijamant (COI16_dijament)C++14
27 / 100
153 ms4860 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,popcnt") #define ll long long #define pll pair<ll,ll> #define pii pair<int,int> #define fs first #define sc second #define tlll tuple<ll,ll,ll> #define _all(T) T.begin(),T.end() const int mxn = 1010; vector<int> paths[mxn]; vector<string> in[mxn]; bitset<mxn> active; int cnt[mxn]; bitset<mxn> up[mxn]; int n; map<string,int> mp; int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin>>n; while(n--){ string tmp; string now; cin>>now; vector<int> v; cin>>tmp; bool flag = true; while(cin>>tmp){ if(tmp == ";")break; if(mp.find(tmp) == mp.end()){ flag = false; continue; } v.push_back(mp[tmp]); } if(mp.find(now) != mp.end())flag = false; if(!flag){ cout<<"greska\n"; continue; } sort(v.begin(),v.end(),[](int a,int b){return cnt[a]>cnt[b];}); for(int i = 1;i<v.size();i++){ if((up[v[i]]&up[v[i-1]]) != up[v[i]])flag = false; } if(!flag){ cout<<"greska\n"; continue; } mp[now] = mp.size()+1; int tid = mp[now]; if(v.size())up[tid][tid] = true; for(auto &i:v)up[tid]|=up[i],up[tid][i] = true; cnt[tid] = up[tid].count(); cout<<"ok\n"; } return 0; }

Compilation message (stderr)

dijament.cpp: In function 'int main()':
dijament.cpp:49:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |   for(int i = 1;i<v.size();i++){
      |                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...