Submission #577889

#TimeUsernameProblemLanguageResultExecution timeMemory
577889NintsiChkhaidzePoklon (COCI17_poklon7)C++14
114 / 120
574 ms262144 KiB
#include <bits/stdc++.h> //#include <vector> //#include <iostream> #define ll long long #define pb push_back #define s second #define f first using namespace std; const int N = 1000005; int a[N],b[N]; vector<int> bin(int x){ vector<int> str; str.clear(); bool z=0; for (int j=29;j>=0;j--){ if((1LL<<j)&x) str.pb(1),z=1; else if (z) str.pb(0); } return str; } vector <int> comp(vector <int> a,vector <int> b){ if (a.size() > b.size()) return a; if (a.size() < b.size()) return b; for (int i=0;i<a.size();i++){ if (a[i] > b[i]) return a; if (a[i] < b[i]) return b; } return a; } vector <int> dfs(int x){ vector<int> mx; if (a[x] < 0 && b[x] < 0) { mx = bin(max(-a[x],-b[x])); }else if (a[x] < 0){ mx = bin(-a[x]); }else if (b[x]<0){ mx = bin(-b[x]); }else{ mx= comp(dfs(a[x]),dfs(b[x])); mx.pb(0); return mx; } if (a[x] > 0) mx = comp(mx,dfs(a[x])); if (b[x] > 0) mx = comp(mx,dfs(b[x])); mx.pb(0); return mx; } signed main() { ios_base::sync_with_stdio(0),cin.tie(NULL),cout.tie(NULL); int n; cin>>n; for(int i = 1; i <= n; i++) cin>>a[i]>>b[i]; vector<int> res = dfs(1); bool z=0; for (int i=0;i<res.size();i++){ if (res[i] == 1) z=1; if(z) cout<<res[i]; } }

Compilation message (stderr)

poklon.cpp: In function 'std::vector<int> comp(std::vector<int>, std::vector<int>)':
poklon.cpp:26:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |     for (int i=0;i<a.size();i++){
      |                  ~^~~~~~~~~
poklon.cpp: In function 'int main()':
poklon.cpp:65:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |     for (int i=0;i<res.size();i++){
      |                  ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...