#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
typedef struct {
int num;
int score1;
int score2;
int tot;
}student;
//구조체 정렬
void roll(student* arr,int n) {
student temp;
for (int i = 0; i < n - 1; i++) {
for (int k = i + 1; k < n; k++) {
if (arr[i].tot < arr[k].tot) {
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
}
}
void roll2(student* arr, int n) {
student temp;
for (int i = 0; i < n - 1; i++) {
for (int k = i + 1; k < n; k++) {
if (arr[i].score2 < arr[k].score2) {
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
}
}
void roll3(int* arr, int n) {
int temp;
for (int i = 0; i < n - 1; i++) {
for (int k = i + 1; k < n; k++) {
if (arr[i] > arr[k]) {
temp = arr[k];
arr[k] = arr[i];
arr[i] = temp;
}
}
}
}
int main() {
int n;
scanf("%d", &n);
student* info;
info = (student*)malloc(sizeof(info) * n);
int* win;
win = (int*)malloc(sizeof(int) * n);
for (int i = 0; i < n; i++) {
win[i] = 0;
}
for (int i = 0; i < n; i++) {
scanf("%d %d %d", &info[i].num, &info[i].score1, &info[i].score2);
info[i].tot = info[i].score1 * 4 + info[i].score2 * 6;
}
roll(info,n);
int cut = n * 6 / 10;
//1차 합격자 발표!
int whosin = 0;;
for (int i = 0;i<n; i++) {
if (i <= (cut - 1)) {
win[i] = info[i].num;
info[i].score2 = 0;
whosin++;
}
else {
if (info[i - 1].tot == info[i].tot)
{
win[i] = info[i].num;
info[i].score2 = 0;
whosin++;
}
else
break;
}
}
//2차 롤 합시다
roll2(info, n);
//2차 합격자 발표
int Fcut = n * 8 / 10;
if (Fcut <= whosin) {
roll3(win, n);
for (int i = 0; ; i++) {
if (win[i] == 0)
break;
else
printf("%d\n", win[i]);
}
}
else {
for (int i = 0; i < Fcut - whosin; i++) {
win[i + whosin] = info[i].num;
}
roll3(win, n);
for (int i = 0; 1; i++) {
if (win[i] == 0)
break;
else
printf("%d\n", win[i]);
}
}
free(win);
free(info);
return 0;
}
초록색 밑줄 쳐지면서 프레이크 포인트 발생했다고 뜨고 그래요.
달세뇨
아 그래요? 유감이에요 ㅠㅠ
rondoletti
최소한 어디서 BP가 걸렸는지, 문제가 뭔지는 제대로 알려줘야 하는게 아닌가싶음..
나도 글만 보면 윗게이처럼 어쩌라고? 가 먼저 떠오르네
좆커
성의없는질문은 답해주기 싫다는 생각이듬
어쩌라는건가요? 라는말이 바로나오네
숨은음은
윗 게이 세 명 말에 ㅇㅈㄸㅇㅈ하는 부분이구욘