Submission #1097388

#TimeUsernameProblemLanguageResultExecution timeMemory
1097388LilPlutonLjeto (COCI21_ljeto)C++14
25 / 50
1 ms348 KiB
#include <bits/stdc++.h>
using namespace std;
const int sz = 5e5 + 5;
#define int long long
int dx[] = {0, 0, 1, -1};
int dy[] = {1, -1, 0, 0};
const int mod = 1e9 + 7;
struct DSU{
    vector<int>e;
    DSU(int n){
        e.assign(n + 1, -1);
    }
    int _find(int v){
        if(e[v] < 0){
            return v;
        }
        return e[v] = _find(e[v]);
    }
    int _union(int u,int v){
        u = _find(u);
        v = _find(v);
        if(u != v){
            if(e[u] > e[v]){
                swap(u, v);
            }
            e[u] += e[v];
            e[v] = u;
            return 1;
        }
        return 0;
    }
};

void test_case(int testcase){                   
    int n;
    cin >> n;
    vector<array<int,3>> v(n);
    for(int i = 0; i < n; ++i){
        cin >> v[i][0] >> v[i][1] >> v[i][2];
    }
    sort(begin(v), end(v), [&](array<int,3> a, array<int,3> b){
        return a[0] < b[0];
    });
    int team1 = 0, team2 = 0;
    int prev = -1;
    if(v[0][1] <= 4){
        team1 += 100;
    }else{
        team2 += 100;
    }
    prev = v[0][1];
    for(int i = 1; i < n; ++i){
        if(v[i][0] <= v[i - 1][0] + 10){
            if(v[i][1] == prev && prev <= 4){
                team1 += 50;
            }
            if(v[i][1] == prev && prev > 4){
                team2 += 50;
            }
        }
        if(v[i][1] <= 4){
            team1 += 100;
        }else{
            team2 += 100;
        }
        prev = v[i][1];
    }
    cout << team1 << ' ' << team2 << endl;
}

signed main(){
    int T = 1;
    for(int test = 1; test <= T; ++test){
        test_case(test);
    } 
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...