답안 #1006163

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1006163 2024-06-23T13:48:21 Z Almonther Data Transfer (IOI19_transfer) C++17
0 / 100
8 ms 4356 KB
#include <bits/stdc++.h>
#include "transfer.h"
#define ll long long
#define co cout<<
//#pragma GCC optimize("O3,Ofast,unroll-loops")
//#pragma GCC target("avx2,sse3,sse4,avx")
using namespace std;
//stuff

vector<int>get_attachment(vector<int>source){
	vector<int>arr=source;
    ll num=0;
    ll pa=0;
    for(int i=0;i<255;i++){
        pa^=source[i];
        num^=((source[i])?i+1:0);
    }
    string s="";
    while(num){
        s+='0'+(num&1);
        num>>=1;
    }
    while(s.size()<8) s='0'+s;
    for(auto i:s) arr.push_back(i-'0');
    arr.push_back(pa);
    return arr;
}

vector<int>retrieve(vector<int>data){
    vector<int>arr=data;
    ll pa,pa1,num;
    pa=0,pa1=0,num=0;
    ll test=arr[263];
    vector<int>ans;
    for(int i=255;i<263;i++) num=num*2+arr[i];
    for(int i=0;i<255;i++){
        pa^=arr[i];
        num^=((arr[i])?i:0);
    }
    pa1=pa;
    if(num){
        if(arr[num-1]) pa1--;
        else pa1++;
        if(pa1==test){
            for(int i=0;i<255;i++){
                ans.push_back(arr[i]);
            }
            ans[num]^=1;
            return ans;
        }
        else{
            for(int i=0;i<255;i++){
                ans.push_back(arr[i]);
            }
            return ans;
        }
    }
    else{
        for(int i=0;i<255;i++){
            ans.push_back(arr[i]);
        }
        return ans;
    }
}
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 788 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 8 ms 4356 KB WA in grader: wrong source retrieval
2 Halted 0 ms 0 KB -