Submission #1006187

#TimeUsernameProblemLanguageResultExecution timeMemory
1006187m5588ohammedData Transfer (IOI19_transfer)C++14
0 / 100
6 ms5656 KiB
#include <bits/stdc++.h> using namespace std; vector<int> get_attachment(vector <int> source) { int cnt=0,sum=0,k; for(int i=1;i<=source.size();i++){ if(source[i-1]==1){ sum++; cnt^=i; } } vector <int> ans=source; k=sum%2; while(cnt!=0){ ans.push_back(cnt%2); cnt/=2; } ans.push_back(k); return ans; } vector<int> retrieve(vector<int> data) { int cnt=0,sum=0,k=data[data.size()-1],num=0; int n = (data.size() > 255 ? 255 : 63); for(int i=1;i<=n;i++){ if(data[i-1]==1){ sum++; cnt^=i; } } for(int i=n+1;i<data.size();i++) num+=data[i-1]*(1<<(i-n)); if(sum%2!=k&&cnt!=num) data[(cnt^num)-1]^=1; vector <int> ans; for(int i=0;i<n;i++) ans.push_back(data[i]); return ans; } // int main(){ // char c; // vector <int> ans; // for(int i=0;i<63;i++){ // cin>>c; // if(c=='1') ans.push_back(1); // else ans.push_back(0); // } // ans=get_attachment(ans); // for(int i:ans) cout<<i<<" "; // }

Compilation message (stderr)

transfer.cpp: In function 'std::vector<int> get_attachment(std::vector<int>)':
transfer.cpp:5:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 |     for(int i=1;i<=source.size();i++){
      |                 ~^~~~~~~~~~~~~~~
transfer.cpp: In function 'std::vector<int> retrieve(std::vector<int>)':
transfer.cpp:31:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |     for(int i=n+1;i<data.size();i++) num+=data[i-1]*(1<<(i-n));
      |                   ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...