Submission #660629

#TimeUsernameProblemLanguageResultExecution timeMemory
660629BidoTeimaPoklon (COCI17_poklon)C++17
0 / 140
499 ms524288 KiB
/* ID: BidoTeima LANG: C++11 TASK: */ #include <bits/stdc++.h> using namespace std; using ll = long long; void moo(string filename); void ACPLS(string str = "") { if(str=="NOF")return; if(str.size()) moo(str); else{ #ifndef ONLINE_JUDGE freopen("output.txt", "w", stdout); freopen("input.txt", "r", stdin); #endif } ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); } void moo(string fileName){ freopen((fileName+".in").c_str(),"r",stdin); freopen((fileName+".out").c_str(),"w",stdout); } #define tc \ int tttttt/*,subtask*/; \ cin >> tttttt/* >> subtask*/; \ while (tttttt--)/*end */ vector<ll>adj[(int)1e6+5]; ll sum[(int)1e6+5]; vector<ll>sorted; void toposort(ll node){ if(node<0)return; toposort(adj[node][0]); toposort(adj[node][1]); sorted.push_back(node); } void dfs(ll node){ if(node<0)return; ll x,y; if(adj[node][0]>0){ assert(adj[node][0]>0); x=sum[adj[node][0]]; } else{ x=-adj[node][0]; } if(adj[node][1]>0){ assert(adj[node][1]>0); y=sum[adj[node][1]]; } else{ y=-adj[node][1]; } sum[node]+=x+y+abs(x-y); } int main() { //ACPLS(); int n; cin>>n; for(int i = 1; i <= n; i++){ int u,v; cin>>u>>v; adj[i].push_back(u); adj[i].push_back(v); } toposort(1); for(int node : sorted){ dfs(node); } string binary; while(sum[1]){ binary.push_back((sum[1]%2)+'0'); sum[1]/=2; } reverse(binary.begin(),binary.end()); cout<<binary; }

Compilation message (stderr)

poklon.cpp: In function 'void ACPLS(std::string)':
poklon.cpp:17:20: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |             freopen("output.txt", "w", stdout);
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
poklon.cpp:18:20: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |             freopen("input.txt", "r", stdin);
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
poklon.cpp: In function 'void moo(std::string)':
poklon.cpp:26:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   26 |     freopen((fileName+".in").c_str(),"r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poklon.cpp:27:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   27 |     freopen((fileName+".out").c_str(),"w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...