#include <iostream>
#include <algorithm>
#include <map>
#include <set>
#include <vector>
#include <string>
#include <cstring>
#include <deque>
#include <queue>
#include <stack>
#include <cmath>
#include <cctype>
#include <bitset>
#include <cstdio>
#include <tuple>
#include <unordered_set>
using namespace std;
using ll=long long;
using ch=char;
using ld=long double;
using str=string;
using bl=bool;
using db=double;
#define hurry_up_adicto ios_base::sync_with_stdio(false);cin.tie();cout.tie();
#define ts to_string
#define vc vector
#define st set
#define cp cout.precision
#define dq deque
#define pq priority_queue
#define mp map
#define uost unordered_set
#define mst multiset
#define INF 1e9
struct adicto
{
ll t,p1,p2;
};
bl compareTeams (adicto a,adicto b)
{
if (a.p1<b.p1)
return true;
else if (a.p1==b.p1)
{
if (a.t<b.t)
return true;
else
return false;
}
else
return false;
}
int main()
{
hurry_up_adicto;
ll n;
cin>>n;
vc <adicto> v;
for (int i=0; i<n; i++)
{
adicto a;
cin>>a.t>>a.p1>>a.p2;
v.push_back(a);
}
sort (v.begin(),v.end(),compareTeams);
ll team1=0,team2=0;
for (int i=0; i<v.size(); i++)
{
if (v[i].p1<v[i].p2)
{
team1+=100;
if (i==v.size()-1)
continue;
if (v[i].p1==v[i+1].p1 && abs(v[i].t-v[i+1].t)<=10)
team1+=50;
}
else
{
team2+=100;
if (i==v.size()-1)
continue;
if (v[i].p1==v[i+1].p1 && abs(v[i].t-v[i+1].t)<=10)
team2+=50;
}
}
cout<<team1<<' '<<team2;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |