Submission #766327

#TimeUsernameProblemLanguageResultExecution timeMemory
766327vitoPalembang Bridges (APIO15_bridge)C++98
8 / 100
15 ms6564 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
const ll INF=1e18+5;
int main() {
	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	int k, n;
	cin >> k >> n;
	char c, cc;
	vector<vector<int>> a(n, vector<int>(3));
	for(int i=0; i<n; i++) {
		cin >> c;
		cin >> a[i][0];
		cin >> cc;
		cin >> a[i][1];
		a[i][2]=(c==cc);
		if(a[i][0]>a[i][1]) {
			swap(a[i][0], a[i][1]);
		}
	}
	if(k==1 && n<=1000) {
		vector<int> pos;
		for(int i=0; i<n; i++) {
			pos.push_back(a[i][0]);
			pos.push_back(a[i][1]);
		}
		ll rj=INF, cur;
		for(int i=0; i<2*n; i++) {
			cur=0;
			for(int j=0; j<n; j++) {
				cur+=a[j][1]-a[j][0];
				if(a[j][2]==0) {
					cur++;
					if(pos[i]<a[j][0]) {
						cur+=2*(a[j][0]-pos[i]);
					}
					else if(pos[i]>a[j][1]) {
						cur+=2*(pos[i]-a[j][1]);
					}
				}
			}
			rj=min(rj, cur);
		}
		cout << rj << '\n';
		return 0;
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...