Algoogle

Algorithm for Programming Contest

JOI 春合宿 2010 Contest

Category: JOI Tag: implementation

Contest

問題概要


問題のopenと提出に対してcorrect, incorrectに関する情報が時刻順に与えられる.
与えられた式のように得点が計算されるとき各参加者のスコアの合計を求めよ.

解法


やるだけ

####


(contest.cpp) download
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
31
32
33
34
#include <bits/stdc++.h>
using namespace std;

int n, m, t, x, y;
int wa[1024][16], tim[1024][16], ans[1024], p[16];

void solve()
{
        for (int i = 0; i < y; i++) {
                int s, id, task;
                string v;
                cin >> s >> id >> task >> v;
                id--; task--;
                if(v == "open") tim[id][task] = s;
                else if(v == "correct") ans[id] += max(x, p[task]-(s-tim[id][task])-120*wa[id][task]);
                else wa[id][task]++;
        }
        for (int i = 0; i < n; i++) cout << ans[i] << endl;
}

void input()
{
        cin >> n >> m >> t >> x >> y;
        for (int i = 0; i < m; i++) cin >> p[i];
}

int main()
{
        cin.tie(0);
        cin.sync_with_stdio(0);
        input();
        solve();
        return 0;
}

Comments