#include <bits/stdc++.h>
using namespace std;
#define ll long long
unordered_map<string,pair<int,int>> mp;
int main(){
int n,m;
cin>>n>>m;
int flag=0;
n++;
string team="NijeZivotJedanACM";
while(n--){
string k;
cin>>k;
int tmp=m;
if(flag==0 && k==team) {flag=1;while(tmp--){string ex;cin>>ex;}continue;}
int solved=0,penalty=0;
while(tmp--){
string que;
cin>>que;
if(que.size()==1) continue;
if(que[0]=='-') continue;
if(que[0]=='+' || que[0]=='?'){
solved++;
penalty+=(que[1]-'1')*20*60;
//+2/20:14:12
int hour=(que[3]-'0')*36000+(que[4]-'0')*3600;
int minute=(que[6]-'0')*600+(que[7]-'0')*60;
int second=(que[9]-'0')*10+(que[10]-'0');
penalty+=(minute+hour+second);
}
}
mp[k]={solved,penalty};
}
vector<pair<string,pair<int,int>>> v(mp.begin(),mp.end());
sort(v.begin(),v.end(),[](const auto &A,const auto &B){
if(A.second.first!=B.second.first){
return A.second.first>B.second.first;
}
if(A.second.second!=B.second.second){
return A.second.second<B.second.second;
}
return A.first<B.first;
});
int cnt=1;
for(auto x :v){
if(x.first==team) break;
cnt++;
}
cout<<cnt;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |