제출 #678523

#제출 시각아이디문제언어결과실행 시간메모리
678523vjudge1Art Exhibition (JOI18_art)C++17
100 / 100
176 ms12188 KiB
//#pragma GCC optimize("Ofast,unroll-loops") //#pragma GCC target("avx2,fma,bmi,bmi2,sse4.2,popcnt,lzcnt") #include <bits/stdc++.h> #define int long long #define ll long long #define vll vector<ll> #define vllp vector<pair<ll, ll> > #define vi vector <int> #define vip vector <pair <int, int> > #define db double #define ldb long double #define pdb pair <double, double> #define YES cout<<"Yes" #define NO cout<<"No" #define nl cout<<"\n" #define vv vector <vector <int> > #define pll pair <ll, ll> #define pi pair <int, int> #define pb push_back #define f first #define s second using namespace std; const ll mod=1e9+7; const ll modx=998244353; const double eps=1e-9; const ll INF=INT_MAX; const ll INFINF=LLONG_MAX; const int N=5e5; int n; vip v; int dp[N+5]; void input() { cin >> n; for(int i = 1; i <= n; i++) { int x, y; cin >> x >> y; v.pb({x, y}); } sort(v.begin(), v.end()); } void solve() { dp[1]=v[0].s; for(int i = 2; i <= n; i++) { dp[i]=v[i-1].s; dp[i]=max(dp[i], dp[i-1]+v[i-1].s-(v[i-1].f-v[i-2].f)); } int ans=-INFINF; for(int i = 1; i <= n; i++) { ans=max(ans, dp[i]); } cout << ans; } signed main() { // auto start_time = chrono::high_resolution_clock::now(); // freopen("DNA.inp", "r", stdin); // freopen("DNA.out", "w", stdout); ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int t=1; // cin >> t; for(int i = 1; i <= t; i++) { input(); solve(); nl; // cout << flush; } // auto end_time = chrono::high_resolution_clock::now(); // double duration = chrono::duration_cast<chrono::milliseconds>(end_time - start_time).count(); // cout << "\n[ " << duration << " ms ]\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...