제출 #1287964

#제출 시각아이디문제언어결과실행 시간메모리
1287964kaxi선물 (IOI25_souvenirs)C++20
컴파일 에러
0 ms0 KiB
#include "souvenirs.h"
#include<bits/stdc++.h>
using namespace std;
void buy_souvenirs(int N, long long P0) {
	long long curp;
	pair<vector<int>, long long> res;
	if(N == 2){
		pair<vector<int>, long long> res = transaction(P0 - 1);
		return;
	}
	if(N == 3) {
		pair<vector<int>, long long> res = transaction(P0 - 1);
		if(res.first.size() == 1) {
			transaction(P0 - 2 - res.second);
			transaction(P0 - 2 - res.second);
		}
		else {
			transaction((P0 - 1 - res.second) / 2);
		}
		return;
	}
	if(P0 == N){
		for(int i = 1; i < N; i++) {
		for(int j = 1; j <= i; j++) {
			pair<vector<long long>, long long> res = transaction(P0 - i);
		}
	}
	return;
	} else {
		int cnt1 = 0;
		curp = P0 - 1;
		for (int i = 1; i <= N; i++) {
			for (int j = 1; j <= i; j++) {
				res = transaction(curp);
				if ((int)res.first.size() > 1) {
					cnt1++;
					curp--;
				}
				if (res.second > 0) curp--;
			}
			if (res.second > 0)curp--;
		}
		for (int i = cnt1 + 1; i <= N - 1; i++) res = transaction(curp);
		return;
	}
}

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

souvenirs.cpp: In function 'void buy_souvenirs(int, long long int)':
souvenirs.cpp:25:77: error: conversion from 'pair<vector<int>,[...]>' to non-scalar type 'pair<vector<long long int>,[...]>' requested
   25 |                         pair<vector<long long>, long long> res = transaction(P0 - i);
      |                                                                  ~~~~~~~~~~~^~~~~~~~