Submission #754560

# Submission time Handle Problem Language Result Execution time Memory
754560 2023-06-08T05:05:54 Z Dhruva Programming Contest (POI11_pro) PyPy 3
0 / 100
335 ms 34644 KB
import sys
import time


def solve_team_programming_contest(n, m, r, t, k, pairs):
    # Create a list of contestants with their available problems and penalty

    pairs = sorted(pairs, reverse=True)
    unique_second_values = set()
    result = []

    for pair in pairs:
        if pair[1] not in unique_second_values:
            unique_second_values.add(pair[1])
            result.append(pair)

    grouped_dict = {}
    for ele in result:
        if grouped_dict.get(ele[0]):
            val = grouped_dict.get(ele[0])
            val.append(ele[1])
            grouped_dict.update({ele[0]: val})
        else:
            grouped_dict.update({ele[0]: [ele[1]]})

    contenstants = [[key, grouped_dict[key]] for key in sorted(grouped_dict.keys())]

    solved_problems = 0
    penal_points = 0
    assignments = []

    # Assign problems to contestants
    for i in range(len(contenstants)):
        time = 0
        for problem in contenstants[i][1]:
            if time + r <= t:
                solved_problems += 1
                penal_points += time
                assignments.append((contenstants[i][0], problem, time))
                time += r
            else:
                break
    penal_points = t - penal_points
    assignments.sort(key=lambda x: x[2])
    return solved_problems, penal_points, assignments


# Read input

n, m, r, t, k = map(int, sys.stdin.readline().split())

pairs = [list(map(int, sys.stdin.readline().split())) for _ in range(k)]

# Solve the problem
result = solve_team_programming_contest(n, m, r, t, k, pairs)

# Print the result

print(result[0], result[1])

for assignment in result[2]:
    print(*assignment)
# Verdict Execution time Memory Grader output
1 Incorrect 44 ms 18980 KB It was possible to solve 100 problems and you solved only 47.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 38 ms 18260 KB It was possible to solve 95 problems and you solved only 58.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 50 ms 19852 KB It was possible to solve 80 problems and you solved only 9.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 58 ms 21412 KB It was possible to solve 200 problems and you solved only 66.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 128 ms 31408 KB It was possible to solve 494 problems and you solved only 8.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 106 ms 28960 KB It was possible to solve 500 problems and you solved only 29.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 335 ms 34644 KB Memory limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 95 ms 22028 KB It was possible to solve 390 problems and you solved only 93.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 142 ms 31164 KB It was possible to get penalty of 500 points and you received 975673.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 102 ms 22908 KB It was possible to solve 452 problems and you solved only 126.
2 Halted 0 ms 0 KB -