Submission #542035

#TimeUsernameProblemLanguageResultExecution timeMemory
542035AJ00Unija (COCI17_unija)C++14
100 / 100
285 ms31044 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
pair<int,int> rect[1000001]; 
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int t=1,n,curx,cury; 
    //cin >> t; 
    while (t--){
        cin >> n;
        for (int i = 0; i < n; i++){
            cin >> rect[i].first >> rect[i].second;
            rect[i].first /= 2;
            rect[i].second /= 2;
        }    
        rect[n] = {0,0};
        sort(rect,rect+n+1,greater<pair<int,int>>());
        curx = rect[0].first;
        cury = rect[0].second;
       // cout << rect[0].first << " " << rect[0].second << "\n";
        int  i = 1,ans=0;
        while(i<=n){
            while(cury >= rect[i].second && i<n){
               // cout << rect[i].first << " " << rect[i].second << "\n";
                i++;
            }
            ans += ((curx-rect[i].first)*cury);
            curx = rect[i].first;
            cury = rect[i].second;
           // cout << rect[i].first << " " << rect[i].second << " " << ans << "\n";
            i++;
        }
        ans *= 4;
        cout << ans << "\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...
#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...