답안 #715543

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
715543 2023-03-27T07:45:38 Z Koful123 ACM (COCI19_acm) C++17
20 / 50
3 ms 340 KB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"
#define ff first
#define ss second
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
 
struct str{
	string s;
	bool operator < (const str other) const{
		return s < other.s;
	};
};
 
void solve(){
	
	int n,m,pos;
	cin >> n >> m;
 
	vector<pair<pair<int,int>,str>> v(n);	
	for(int i = 0; i < n; i++){
		cin >> v[i].ss.s;
		for(int j = 0; j < m; j++){
			string q; cin >> q;
			if(q[0] == '-'){
				if(q.size() > 1){
					v[i].ff.ss += 20 * 60 * (q[1] - '0');
				}
				continue;
			}
			int add = 0;
			--v[i].ff.ff; if(q[1] != '/'){
				v[i].ff.ss += 20 * (q[1] - '0') * 60;
			}
			else add = -1;
			v[i].ff.ss += (q[4 + add] - '0') * 3600 + 10 * (q[6 + add] - '0') * 60 + (q[7 + add] - '0') * 60;
			v[i].ff.ss += (q[8 + add] - '0') * 10 + (q[9 + add] - '0');
				
		}
		if(v[i].ss.s == "NijeZivotJedanACM"){
			pos = i;
		}
	}
 
	string fuck; cin >> fuck;
	v[pos].ff.ff = v[pos].ff.ss = 0;
	for(int i = 0; i < m; i++){
		string q; cin >> q;
		if(q[0] == '-'){
			if(q.size() > 1){
				v[pos].ff.ss += 20 * 60 * (q[1] - '0');
			}
			continue;
		}
		int add = 0;
		--v[pos].ff.ff; if(q[1] != '/'){
			v[pos].ff.ss += 20 * (q[1] - '0' - (q[0] == '?')) * 60;
		}
		else add = -1;
		v[pos].ff.ss += (q[add + 4] - '0') * 3600 + 10 * (q[add + 6] - '0') * 60 + (q[add + 7] - '0') * 60;
		v[pos].ff.ss += (q[add + 8] - '0') * 10 + (q[add + 9] - '0');
	}
 
	sort(v.begin(),v.end());
	for(int i = 0; i < n; i++){
		if(v[i].ss.s == "NijeZivotJedanACM"){
			cout << i + 1 << endl;
		}	
	}
}
 
signed main(){ 
 
	ios::sync_with_stdio(0);
	cin.tie(0);
 
	int t = 1;
//	cin >> t;
 
	while(t--)
		solve();
 	
	return 0;
}

Compilation message

acm.cpp: In function 'void solve()':
acm.cpp:49:22: warning: 'pos' may be used uninitialized in this function [-Wmaybe-uninitialized]
   49 |  v[pos].ff.ff = v[pos].ff.ss = 0;
      |                      ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Incorrect 2 ms 340 KB Output isn't correct
3 Correct 0 ms 212 KB Output is correct
4 Incorrect 2 ms 340 KB Output isn't correct
5 Incorrect 3 ms 340 KB Output isn't correct