제출 #1250670

#제출 시각아이디문제언어결과실행 시간메모리
1250670starnightsnow선물 (IOI25_souvenirs)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; extern pair<vector<int>, long long> transaction(long long M); void buy_souvenirs(int N, long long P0) { if (N == 2) { auto [gotten, change] = transaction(P0 - 1); return; } if(N == 3){ auto [gotten1, change1] = transaction(P0 - 1); ll use; // got cheapest if(gotten1.size() == 1){ use = (P0 - 1) - change1; auto [gotten2, change2] = transaction(use); auto [gotten2, change2] = transaction(use); } // bough 2 items else{ use = ((P0 - 1) - change1) / 2; auto [gotten2, change2] = transaction(use); } } }

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

souvenirs.cpp: In function 'void buy_souvenirs(int, long long int)':
souvenirs.cpp:19:19: error: conflicting declaration 'auto gotten2'
   19 |             auto [gotten2, change2] = transaction(use);
      |                   ^~~~~~~
souvenirs.cpp:18:19: note: previous declaration as 'std::tuple_element<0, std::pair<std::vector<int>, long long int> >::type&& gotten2'
   18 |             auto [gotten2, change2] = transaction(use);
      |                   ^~~~~~~
souvenirs.cpp:19:28: error: conflicting declaration 'auto change2'
   19 |             auto [gotten2, change2] = transaction(use);
      |                            ^~~~~~~
souvenirs.cpp:18:28: note: previous declaration as 'std::tuple_element<1, std::pair<std::vector<int>, long long int> >::type&& change2'
   18 |             auto [gotten2, change2] = transaction(use);
      |                            ^~~~~~~