#include <iostream>
#include <vector>
#include <tuple>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int>& wins, vector<int>& draws, vector<int>& scored, vector<int>& conceded) {
int n = wins.size();
// Each tuple: {points, goal_diff, -index}
vector<tuple<int, int, int>> teams;
for (int i = 0; i < n; ++i) {
int points = 3 * wins[i] + draws[i];
int goal_diff = scored[i] - conceded[i];
teams.push_back({points, goal_diff, -i}); // negative index for stable sort
}
// Sort descending by points, then goal_diff, then original index
sort(teams.rbegin(), teams.rend());
int first = -get<2>(teams[0]); // reverse the negative index
int second = -get<2>(teams[1]);
return {first, second};
}
// wins = [2, 1, 0]
// draws = [1, 5, 6]
// scored = [20, 15, 10]
// conceded = [20, 10, 15]
int main() {
vector<int> wins = {2, 1, 0};
vector<int> draws = {1, 5, 6};
vector<int> scored = {20, 15, 10};
vector<int> conceded = {20, 10, 15};
vector<int> result = solution(wins, draws, scored, conceded);
cout << "Winner Index: " << result[0] << ", Second Place Index: " << result[1] << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dHVwbGU+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2ZWN0b3I8aW50PiBzb2x1dGlvbih2ZWN0b3I8aW50PiYgd2lucywgdmVjdG9yPGludD4mIGRyYXdzLCB2ZWN0b3I8aW50PiYgc2NvcmVkLCB2ZWN0b3I8aW50PiYgY29uY2VkZWQpIHsKICAgIGludCBuID0gd2lucy5zaXplKCk7CgogICAgLy8gRWFjaCB0dXBsZToge3BvaW50cywgZ29hbF9kaWZmLCAtaW5kZXh9CiAgICB2ZWN0b3I8dHVwbGU8aW50LCBpbnQsIGludD4+IHRlYW1zOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgaW50IHBvaW50cyA9IDMgKiB3aW5zW2ldICsgZHJhd3NbaV07CiAgICAgICAgaW50IGdvYWxfZGlmZiA9IHNjb3JlZFtpXSAtIGNvbmNlZGVkW2ldOwogICAgICAgIHRlYW1zLnB1c2hfYmFjayh7cG9pbnRzLCBnb2FsX2RpZmYsIC1pfSk7ICAvLyBuZWdhdGl2ZSBpbmRleCBmb3Igc3RhYmxlIHNvcnQKICAgIH0KCiAgICAvLyBTb3J0IGRlc2NlbmRpbmcgYnkgcG9pbnRzLCB0aGVuIGdvYWxfZGlmZiwgdGhlbiBvcmlnaW5hbCBpbmRleAogICAgc29ydCh0ZWFtcy5yYmVnaW4oKSwgdGVhbXMucmVuZCgpKTsKCiAgICBpbnQgZmlyc3QgPSAtZ2V0PDI+KHRlYW1zWzBdKTsgIC8vIHJldmVyc2UgdGhlIG5lZ2F0aXZlIGluZGV4CiAgICBpbnQgc2Vjb25kID0gLWdldDwyPih0ZWFtc1sxXSk7CgogICAgcmV0dXJuIHtmaXJzdCwgc2Vjb25kfTsKfQovLyB3aW5zICAgICA9IFsyLCAxLCAwXQovLyBkcmF3cyAgICA9IFsxLCA1LCA2XQovLyBzY29yZWQgICA9IFsyMCwgMTUsIDEwXQovLyBjb25jZWRlZCA9IFsyMCwgMTAsIDE1XQppbnQgbWFpbigpIHsKICAgIHZlY3RvcjxpbnQ+IHdpbnMgPSB7MiwgMSwgMH07CiAgICB2ZWN0b3I8aW50PiBkcmF3cyA9IHsxLCA1LCA2fTsKICAgIHZlY3RvcjxpbnQ+IHNjb3JlZCA9IHsyMCwgMTUsIDEwfTsKICAgIHZlY3RvcjxpbnQ+IGNvbmNlZGVkID0gezIwLCAxMCwgMTV9OwoKICAgIHZlY3RvcjxpbnQ+IHJlc3VsdCA9IHNvbHV0aW9uKHdpbnMsIGRyYXdzLCBzY29yZWQsIGNvbmNlZGVkKTsKICAgIGNvdXQgPDwgIldpbm5lciBJbmRleDogIiA8PCByZXN1bHRbMF0gPDwgIiwgU2Vjb25kIFBsYWNlIEluZGV4OiAiIDw8IHJlc3VsdFsxXSA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cg==