# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
575580 | 2022-06-11T05:39:30 Z | Arvin | Ancient Machine (JOI21_ancient_machine) | C++17 | 60 ms | 8996 KB |
#include "Anna.h" #include <bits/stdc++.h> using namespace std; #define ll long long namespace { int variable_example = 0; const int maxN = 1e5 + 5; } void Anna(int N, std::vector<char> S) { // 1 as store this first X or any Z after first Xa // 0 otherwise vector<int> v; ll pos = -1; bool fX = false; for(int x=0;x<N;x++){ if(S[x] == 'Z'){ if(fX && (x+1 == N || S[x+1] != 'Z')){ v.push_back(1); } else { v.push_back(0); } // Send(fX); } else if(S[x] == 'Y'){ // Send(0); v.push_back(0); } else if(S[x] == 'X'){ if(!fX){ v.push_back(1); // Send(1); fX = true; pos = x; } else { v.push_back(0); // Send(0); } } } // guaranteed bit 1 at most N/2 + 1 // alternating, only special case where first X and any Z are adjacent. // first 16 bits are location of first X // if not exist: ok delete all // else : // check first bit after loc // if 0 length is odd // - if one: // - - // - else: pos++; for(int y=0;y<17;y++){ if(pos&(1ll << y)){ Send(1); } else { Send(0); } } if(pos == 0){ return; } ll cnt[51]; ll sum = 2; ll table[51]; table[0] = 1; cnt[0] = 1; table[1] = 1; cnt[1] = 2; for(int x=2;x<=50;x++){ table[x] = 0; for(int y=0;y<=x-2;y++){ table[x] += table[y]; } sum += table[x]; cnt[x] = sum; } // cout << "... " << pos << "\n"; while(pos < v.size()){ ll val = 0; for(int x=49;x>=0;x--){ if(pos+x < v.size() && v[pos+x] == 1){ // cout << "+ " << x << " " << val << "+" << cnt[x] << "\n"; val += cnt[x]; } } for(int y=0;y<35;y++){ if(val&(1ll << y)){ Send(1); } else { Send(0); } } pos += 50; } // Send(v[0]); // bool skip = false; // for(int x=0;x<N;x++){ // if(skip){ // skip = false; // continue; // } // if(v[x] == 0){ // if(x+1 == N || v[x+1] == 1){ // Send(0); // if(x+1 < N && v[x+1] == 1) Send(1); // else Send(0); // } else { // Send(1); // if(x+2 < N && v[x+2] == 1){ // Send(1); // } else { // Send(0); // } // skip = true; // } // } // } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 508 KB | Output is correct |
2 | Correct | 0 ms | 508 KB | Output is correct |
3 | Correct | 0 ms | 516 KB | Output is correct |
4 | Correct | 0 ms | 512 KB | Output is correct |
5 | Correct | 0 ms | 516 KB | Output is correct |
6 | Correct | 0 ms | 516 KB | Output is correct |
7 | Correct | 0 ms | 508 KB | Output is correct |
8 | Correct | 0 ms | 516 KB | Output is correct |
9 | Correct | 0 ms | 516 KB | Output is correct |
10 | Correct | 0 ms | 520 KB | Output is correct |
11 | Correct | 0 ms | 516 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Partially correct | 55 ms | 8416 KB | Partially correct |
2 | Partially correct | 48 ms | 8444 KB | Partially correct |
3 | Partially correct | 48 ms | 8624 KB | Partially correct |
4 | Partially correct | 56 ms | 8808 KB | Partially correct |
5 | Partially correct | 48 ms | 8800 KB | Partially correct |
6 | Partially correct | 49 ms | 8832 KB | Partially correct |
7 | Partially correct | 48 ms | 8912 KB | Partially correct |
8 | Partially correct | 48 ms | 8760 KB | Partially correct |
9 | Partially correct | 52 ms | 8860 KB | Partially correct |
10 | Partially correct | 48 ms | 8808 KB | Partially correct |
11 | Partially correct | 48 ms | 8876 KB | Partially correct |
12 | Partially correct | 51 ms | 8972 KB | Partially correct |
13 | Partially correct | 54 ms | 8856 KB | Partially correct |
14 | Partially correct | 55 ms | 8852 KB | Partially correct |
15 | Partially correct | 52 ms | 8936 KB | Partially correct |
16 | Partially correct | 53 ms | 8908 KB | Partially correct |
17 | Partially correct | 54 ms | 8784 KB | Partially correct |
18 | Correct | 44 ms | 7396 KB | Output is correct |
19 | Correct | 44 ms | 7436 KB | Output is correct |
20 | Partially correct | 48 ms | 8996 KB | Partially correct |
21 | Partially correct | 48 ms | 8964 KB | Partially correct |
22 | Partially correct | 54 ms | 8888 KB | Partially correct |
23 | Partially correct | 48 ms | 8728 KB | Partially correct |
24 | Partially correct | 48 ms | 8964 KB | Partially correct |
25 | Correct | 44 ms | 7336 KB | Output is correct |
26 | Partially correct | 54 ms | 8756 KB | Partially correct |
27 | Correct | 45 ms | 7576 KB | Output is correct |
28 | Partially correct | 60 ms | 8800 KB | Partially correct |
29 | Correct | 46 ms | 7304 KB | Output is correct |
30 | Correct | 46 ms | 7640 KB | Output is correct |
31 | Correct | 43 ms | 7368 KB | Output is correct |
32 | Partially correct | 49 ms | 8708 KB | Partially correct |
33 | Partially correct | 49 ms | 8776 KB | Partially correct |