작성일 :

문제 링크

26145번 - 출제비 재분배

설명

대회의 운영진들이 얼마나 돈을 분배 받게 될지를 계산하는 문제입니다.

각 출제자가 받는 출제비에서 다른 운영자들에게 나눠주는 금액을 반영하여 계산합니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
namespace Solution {
  class Program {
    static void Main(string[] args) {

      var input = Console.ReadLine()!.Split(' ');
      var n = int.Parse(input[0]);
      var m = int.Parse(input[1]);

      var money = new int[n + m + 1];

      input = Console.ReadLine()!.Split(' ');
      for (int i = 1; i <= n; i++)
        money[i] = int.Parse(input[i - 1]);

      for (int i = 1; i <= n; i++) {
        input = Console.ReadLine()!.Split(' ');
        for (int j = 1; j <= n + m; j++) {
          var tmp = int.Parse(input[j - 1]);
          money[i] -= tmp;
          money[j] += tmp;
        }
      }

      for (int i = 1; i <= n + m; i++)
        Console.Write(money[i] + " ");
      Console.WriteLine();

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int n, m; cin >> n >> m;

  vector<int> money(n + m + 1, 0);

  for (int i = 1; i <= n; i++)
    cin >> money[i];

  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n + m; j++) {
      int tmp; cin >> tmp;
      money[i] -= tmp;
      money[j] += tmp;
    }
  }

  for (int i = 1; i <= n + m; i++)
    cout << money[i] << " ";
  cout << "\n";

  return 0;
}