제출 #699345

#제출 시각아이디문제언어결과실행 시간메모리
699345AmrTArt Exhibition (JOI18_art)C++14
0 / 100
0 ms212 KiB
#include <bits/stdc++.h> #define lop(i,a,b) for(ll i = a; i < b; i++) #define alop(i,v) for(auto i: v) #define ll long long #define endl "\n" //#define ll int #define yes "YES" #define no "NO" #define elif else if #define sp ' ' #define cor(d) (d == 1 ? "yes":"no") #define all(v) v.begin(),v.end() #define subst(s,i,j) s.substr(i,i+j-1); #define pb push_back int mod = 1e9 + 7; using namespace std; ll fpow(ll n, ll p){ if(p == 0) return 1; if(p == 1) return n; ll res = 1; if(p%2){ res *= n; p--; } ll pn = fpow(n, p/2); res *= pn * pn; return res; } int main(){ ll n, t1, t2; cin >> n; ll arr[n]; vector<pair<int,int>> v, m; lop(i,0,n){ cin >> t1 >> t2; v.pb({t1,t2}); } sort(all(v)); int i = 0; alop(it,v){ if(i == 0) arr[0] = it.second; else arr[i] = it.second + arr[i-1]; i++; } ll mx = -1e9; for(int i = 1; i <= n; i++){ for(int j = 0; j < n-i; j++){ ll sum; if(j == 0) sum = arr[i+j]; else sum = arr[i+j] - arr[j-1]; mx = max(mx, sum - (v[i+j].first - v[j].first)); } } mx = max(mx, arr[n-1] - (v[n-1].first - v[0].first)); cout << mx; 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...