Submission #660650

#TimeUsernameProblemLanguageResultExecution timeMemory
660650BidoTeimaPoklon (COCI17_poklon7)C++17
0 / 120
916 ms207108 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=0,y=0; if(adj[node][0]>0){ x=sum[adj[node][0]]; } else{ x=-adj[node][0]; } if(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<<(sum[1]==0?0: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...