제출 #945667

#제출 시각아이디문제언어결과실행 시간메모리
945667vjudge1Art Exhibition (JOI18_art)C++17
50 / 100
65 ms43604 KiB
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") //#pragma GCC optimize("Ofast,unroll-loops,fast-math,O3") #include <map> #include <set> #include <list> #include <cmath> #include <ctime> #include <deque> #include <queue> #include <stack> #include <string> #include <bitset> #include <cstdio> #include <limits> #include <vector> #include <climits> #include <cstring> #include <cstdlib> #include <fstream> #include <numeric> #include <sstream> #include <cassert> #include <iomanip> #include <iostream> #include <algorithm> #include <stdio.h> #include <fstream> #include <unordered_map> #define ll long long #define int long long #define all(v) v.begin(), v.end() #define nl '\n' #define pb push_back #define sz(s) (int)(s).size() #define f first #define s second using namespace std; const ll N = 2e5 + 50, MX = 5e18; ll n; ll a[N], b[N]; ll fst(){ cin >> n; pair <int, int> p[n+1]; ll lf[n + 1], rf[n + 1]; for(int i = 1; i <= n; i++){ cin >> a[i] >> b[i]; p[i].f = a[i] , p[i].s = b[i]; } sort(p + 1, p + 1 + n); ll ans = p[1].s; ll pr[n+1]; pr[0]=0; pr[1] = p[1].s; for(int i = 2; i <= n; i++){ pr[i] = pr[i-1]+p[i].s; ans = max(ans, p[i].s); } for(int i = 1; i <= n; i++){ rf[i] = pr[i] - p[i].f; lf[i] = p[i].f - pr[i - 1]; } ll mx = 0; for(int r = 1; r <= n; r++){ ans = max(ans, rf[r] + mx); mx = max(lf[r], mx); } return ans; } void solve(){ cout << fst() << nl; } signed main(){ //freopen("lca.in", "r", stdin); //freopen("lca.out", "w", stdout); ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); ll ql=1; //cin >> ql; //tst++; while(ql--){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...