제출 #1251764

#제출 시각아이디문제언어결과실행 시간메모리
1251764archso선물 (IOI25_souvenirs)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #include "souvenirs.h" typedef long long ll; using namespace std; void buy_souvenirs(int n, long long p0){ if(n == 3){ pair<vector<int>,int> stuff = transaction(p0-1); ll know = p0-1-stuff.second; if(stuff.first == {1}){ // b pair<vector<int>,int> morestuff = transaction(know-1); ll kenow = know - 1 - morestuff.second; if(morestuff.first == {2}){ transaction(kenow); // c c pair<vector<int>,int> finalstuff = transaction(kenow - 1); ll finalknow = kenow - 1 - finalstuff.second; transaction(finalknow); transaction(finalknow); // d d d } else { // c d pair<vector<int>,int> finalstuff = transaction((kenow)/2); // d ll finalknow = (kenow)/2 - finalstuff.second; ll otherknow = kenow - finalknow; transaction(otherknow); // c transaction(finalknow); // d } } else if(stuff.first == {1,2}) { // b c pair<vector<int>,int> morestuff = transaction(know / 2); ll kenow = know / 2 - morestuff.second; if(morestuff.first == {2}){ // c // 3 * d transaction(kenow-1); transaction(kenow-1); transaction(kenow-1); } else { // c d // two d's transaction((kenow)/2); transaction((kenow)/2); } } else if(stuff.first == {1,3}) { // b d pair<vector<int>,int> morestuff = transaction(know / 2); ll kenow = know / 2 - morestuff.second; if(morestuff.first == {2}){ // b,c,d // b,c,c,d transaction(kenow); // b,c,c,d,d,d // :) transaction(kenow-1); transaction(kenow-1); } else if(morestuff.first == {3}){ // b d d // this stores what b is // kenow has d ll prevknow = know - kenow; pair<vector<int>,int> evenmorestuff = transaction(prevknow-1); ll finalknow = prevknow - 1- evenmorestuff.second; if(evenmorestuff.size() == 1){ // b c d d transaction(finalknow); transaction(finalknow - 1); // okay! } } else{ // b c d d // just do it again! transaction(know / 2); } } else { // b c d // on this branch pair<vector<int>,int> morestuff = transaction(know/3); ll kenow = know / 3 - morestuff.second; if(morestuff.first == {2}) { // b c c d transaction(kenow-1); transaction(kenow-1); } else if(morestuff.first == {3}) { // b c d d // this holds b+c; ll prevknow = know - kenow; pair<vector<int>,int> evenmorestuff = transaction(prevknow / 2); if(evenmorestuff.first == {2}){ // bccdd transaction(kenow); } } else { // b c c d d transaction(kenow / 2); } } } else{ int amnt = 1; long long curr = p0; for(int i = 2; i < n; i++){ pair<vector<int>,int> stuff = transaction(curr-1); if(stuff.first.size() == 2){ // multiple elements // which has to be the last amnt++; curr-=2; } else{ // one element curr -= (1+stuff.second); } for(int j = 2; j < i; j++){ transaction(curr); } } // the last element has been queried a total of amnt times. for(int i = amnt; i < n; i++){ transaction(curr-1); } } }

컴파일 시 표준 에러 (stderr) 메시지

souvenirs.cpp: In function 'void buy_souvenirs(int, long long int)':
souvenirs.cpp:11:25: error: expected primary-expression before '{' token
   11 |       if(stuff.first == {1}){
      |                         ^
souvenirs.cpp:11:24: error: expected ')' before '{' token
   11 |       if(stuff.first == {1}){
      |         ~              ^~
      |                        )
souvenirs.cpp:15:31: error: expected primary-expression before '{' token
   15 |         if(morestuff.first == {2}){
      |                               ^
souvenirs.cpp:15:30: error: expected ')' before '{' token
   15 |         if(morestuff.first == {2}){
      |           ~                  ^~
      |                              )
souvenirs.cpp:35:32: error: expected primary-expression before '{' token
   35 |       } else if(stuff.first == {1,2}) {
      |                                ^
souvenirs.cpp:35:31: error: expected ')' before '{' token
   35 |       } else if(stuff.first == {1,2}) {
      |                ~              ^~
      |                               )
souvenirs.cpp:39:31: error: expected primary-expression before '{' token
   39 |         if(morestuff.first == {2}){
      |                               ^
souvenirs.cpp:39:30: error: expected ')' before '{' token
   39 |         if(morestuff.first == {2}){
      |           ~                  ^~
      |                              )
souvenirs.cpp:52:32: error: expected primary-expression before '{' token
   52 |       } else if(stuff.first == {1,3}) {
      |                                ^
souvenirs.cpp:52:31: error: expected ')' before '{' token
   52 |       } else if(stuff.first == {1,3}) {
      |                ~              ^~
      |                               )
souvenirs.cpp:56:32: error: expected primary-expression before '{' token
   56 |          if(morestuff.first == {2}){
      |                                ^
souvenirs.cpp:56:31: error: expected ')' before '{' token
   56 |          if(morestuff.first == {2}){
      |            ~                  ^~
      |                               )
souvenirs.cpp:64:39: error: expected primary-expression before '{' token
   64 |          } else if(morestuff.first == {3}){
      |                                       ^
souvenirs.cpp:64:38: error: expected ')' before '{' token
   64 |          } else if(morestuff.first == {3}){
      |                   ~                  ^~
      |                                      )
souvenirs.cpp:71:29: error: 'struct std::pair<std::vector<int>, int>' has no member named 'size'
   71 |            if(evenmorestuff.size() == 1){
      |                             ^~~~
souvenirs.cpp:87:31: error: expected primary-expression before '{' token
   87 |         if(morestuff.first == {2}) {
      |                               ^
souvenirs.cpp:87:30: error: expected ')' before '{' token
   87 |         if(morestuff.first == {2}) {
      |           ~                  ^~
      |                              )
souvenirs.cpp:91:38: error: expected primary-expression before '{' token
   91 |         } else if(morestuff.first == {3}) {
      |                                      ^
souvenirs.cpp:91:37: error: expected ')' before '{' token
   91 |         } else if(morestuff.first == {3}) {
      |                  ~                  ^~
      |                                     )
souvenirs.cpp:96:37: error: expected primary-expression before '{' token
   96 |           if(evenmorestuff.first == {2}){
      |                                     ^
souvenirs.cpp:96:36: error: expected ')' before '{' token
   96 |           if(evenmorestuff.first == {2}){
      |             ~                      ^~
      |                                    )