Submission #1369856
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int (i)=0;(i)<(int)(n);(i)++) #define REPO(i,n) for(int (i)=1; (i)<=(int)(n); (i)++) #define SZ(v) ((int)(v).size()) #define ALL(v) (v).begin(),(v).end() #define one first #define two second typedef long long ll; typedef pair<int, int> pi; const int INF = 0x3f2f1f0f; const ll LINF = 1ll * INF * INF; const int MAX_N = 1e5 + 100; struct SL { priority_queue<ll> L; priority_queue<ll, vector<ll>, greater<ll>> R; ll ans, rBase, lBase; SL() : ans(0ll), rBase(0ll), lBase(0ll) {} void addR(int v) { rBase += v; } void addL(int v) { lBase += v; } void addSL(int x) { L.push(x-lBase); R.push(x-rBase); while(R.top()+rBase < L.top()+lBase) { ll l = L.top()+lBase, r = R.top()+rBase; ans += l-r; L.pop(); R.pop(); L.push(r-lBase); R.push(l-rBase); } } }; int N, Nr[MAX_N][2]; int main() { cin >> N; REP(i, N) REP(j, 2) scanf("%d", &Nr[i][j]); SL sl; REP(i, N) { sl.addR(Nr[i][1] - Nr[i][0]); sl.addSL(Nr[i][1]); sl.addL(-(Nr[i][1] - Nr[i][0])); } printf("%lld\n", sl.ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - NarrowRectangles |
User | kajebiii |
Language | C++14 (GCC 5.4.1) |
Score | 1000 |
Code Size | 1142 Byte |
Status | AC |
Exec Time | 46 ms |
Memory | 2932 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:42:44: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] REP(i, N) REP(j, 2) scanf("%d", &Nr[i][j]); ^
Judge Result
Set Name | Sample | Subtask | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | 700 / 700 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt, 0_004.txt |
Subtask | 0_000, 0_001, 0_004, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt |
All | 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt, 0_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 2_018.txt, 2_019.txt, 2_020.txt, 2_021.txt, 2_022.txt, 2_023.txt, 2_024.txt, 2_025.txt, 2_026.txt, 2_027.txt, 2_028.txt, 2_029.txt, 2_030.txt, 2_031.txt, 2_032.txt, 2_033.txt, 2_034.txt, 2_035.txt, 2_036.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_000.txt | AC | 1 ms | 256 KB |
0_001.txt | AC | 1 ms | 256 KB |
0_002.txt | AC | 1 ms | 256 KB |
0_003.txt | AC | 1 ms | 256 KB |
0_004.txt | AC | 1 ms | 256 KB |
1_005.txt | AC | 1 ms | 256 KB |
1_006.txt | AC | 1 ms | 256 KB |
1_007.txt | AC | 1 ms | 256 KB |
1_008.txt | AC | 1 ms | 256 KB |
1_009.txt | AC | 1 ms | 256 KB |
1_010.txt | AC | 1 ms | 256 KB |
1_011.txt | AC | 1 ms | 256 KB |
1_012.txt | AC | 1 ms | 256 KB |
1_013.txt | AC | 1 ms | 256 KB |
1_014.txt | AC | 1 ms | 256 KB |
1_015.txt | AC | 1 ms | 256 KB |
1_016.txt | AC | 1 ms | 256 KB |
1_017.txt | AC | 1 ms | 256 KB |
2_018.txt | AC | 35 ms | 2804 KB |
2_019.txt | AC | 34 ms | 2804 KB |
2_020.txt | AC | 28 ms | 2804 KB |
2_021.txt | AC | 39 ms | 2804 KB |
2_022.txt | AC | 39 ms | 2804 KB |
2_023.txt | AC | 39 ms | 2804 KB |
2_024.txt | AC | 39 ms | 2804 KB |
2_025.txt | AC | 39 ms | 2804 KB |
2_026.txt | AC | 39 ms | 2804 KB |
2_027.txt | AC | 39 ms | 2804 KB |
2_028.txt | AC | 39 ms | 2804 KB |
2_029.txt | AC | 39 ms | 2804 KB |
2_030.txt | AC | 39 ms | 2804 KB |
2_031.txt | AC | 45 ms | 2804 KB |
2_032.txt | AC | 45 ms | 2804 KB |
2_033.txt | AC | 46 ms | 2932 KB |
2_034.txt | AC | 46 ms | 2804 KB |
2_035.txt | AC | 36 ms | 2804 KB |
2_036.txt | AC | 31 ms | 2804 KB |