답안 #848047

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
848047 2023-09-11T08:24:04 Z eilouvre Gym Badges (NOI22_gymbadges) C++17
컴파일 오류
0 ms 0 KB
#include <iostream>
#include <vector>
#include <algorithm>

struct gymPair {
	gymPair(int a, int b) {
		xp = a;
		maxLevel = b;
	}
	int xp;
	int maxLevel;

};

bool compare_gyms(const gymPair& a, const gymPair& b) {
	int asum{ a.maxLevel + a.xp };
	int bsum{ b.maxLevel + b.xp };

	if (asum != bsum) {
		return (asum < bsum);
	}
	else {
		if (a.maxLevel != b.maxLevel) {
			return (a.maxLevel < b.maxLevel);
		}
		else {
			if (a.xp != b.xp) {
				return (a.xp < b.xp);
			}
		}
	}
	return true;
}

void simulate(std::vector<gymPair> gyms) {
	int xp{ 0 };
	int badges{ 0 };
	for (const gymPair& gym : gyms) {
		if (xp > gym.maxLevel) { continue; }
		else {
			xp += gym.xp;
			++badges;
		}
	}
	std::cout << badges;
}

void make_ordered() {
	std::ios_base::sync_with_stdio(false);
  	std::cin.tie(0)
	int n; std::cin >> n;
	std::vector<int> gymXP(n, 0);
	std::vector<int> gymMaxes(n, 0);
	for (int& i : gymXP) { std::cin >> i; }
	for (int& i : gymMaxes) { std::cin >> i; }

	std::vector<gymPair> gyms;
	for (size_t i = 0; i < n; ++i) {
		if (gymXP[i] == gymMaxes[i]) { continue; }
		gyms.push_back(gymPair(gymXP[i], gymMaxes[i]));
	}

	std::sort(gyms.begin(), gyms.end(), compare_gyms);

	return simulate(gyms);
}

int main() {
	make_ordered();
}

Compilation message

Main.cpp: In function 'void make_ordered()':
Main.cpp:50:19: error: expected ';' before 'int'
   50 |    std::cin.tie(0)
      |                   ^
      |                   ;
   51 |  int n; std::cin >> n;
      |  ~~~               
Main.cpp:51:21: error: 'n' was not declared in this scope
   51 |  int n; std::cin >> n;
      |                     ^