Published on

Codeforces Round (2021-03-13)

Authors
  • avatar
    Name
    Zhiheng Wang
    Twitter

A

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <cctype>
#include <iostream>
using namespace std;

const int maxn = 1e6 + 17;
int T, n, a[maxn], b[maxn], tm[maxn];

int main() {
	cin >> T;
	while(T--) {
		cin >> n;
		for(int i = 1; i <= n; i++) cin >> a[i] >> b[i];
		for(int i = 1; i <= n; i++) cin >> tm[i];
		int t = 0;
		for(int i = 1; i <= n; i++) {
			t += a[i] - b[i - 1] + tm[i];
			if(i == n) break;
			t += (b[i] - a[i] + 1) / 2;
			if(t < b[i]) t = b[i];
		}
		cout << t <<endl;
	}

	return 0;
}

B

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <cctype>
#include <vector>
#include <iostream>
using namespace std;

#define mp make_pair
typedef pair<int, int> pii;
vector<pii> v;
const int maxn = 1e6 + 17;

int T, n, a[maxn];

bool cmp(pii A, pii B) {
	return A.first < B.first;
}

int main () {
	cin >> T;
	while(T--) {
		cin >> n;
		for(int i = 1; i <= n; i++) a[i] = 0;
		int cl = 0, cr = 0;

		for(int i = 1; i <= n; i++) {
			int len;
			cin >> len;
			if(len) v.push_back(mp(max(1, i - len + 1), i));
		}
		sort(v.begin(), v.end(), cmp);
		int m = v.size();
		for(int i = 0; i < m; i++) {
			int l = v[i].first, r = v[i].second;
			if(r > cr) {
				for(int i = max(cr + 1, l); i <= r; i++) a[i] = 1;
				if(l > cr) {
					cl = l;
				}
				cr = r;
			}
		}
		for(int i = 1; i <= n; i++) cout << a[i] << " \n"[i == n];
		v.clear();
	}
	return 0;
}

C

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <cctype>
#include <vector>
#include <iostream>
using namespace std;

const int maxn = 3e6 + 17;
const int mx = 2500000;
int n, c[maxn], a[maxn];
typedef pair<int, int> pii;
vector<pii> s[maxn * 2];

int main() {
	cin >> n;
	for(int i = 1; i <= n; i++) cin >> a[i];
	for(int i = 1; i <= n; i++) {
		for(int j = i + 1; j <= n; j++) {
			s[a[i] + a[j]].push_back(make_pair(i, j));
			if(s[a[i] + a[j]].size() >= 4) {

			}
		}
	}

	return 0;

}

tmp

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    cout << a * 2 + b << endl;
    return 0;
}