QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#702135 | #6531. Base Station Construction | libantian# | WA | 42ms | 9004kb | C++23 | 1.0kb | 2024-11-02 15:22:12 | 2024-11-02 15:22:12 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define INF 0x3f3f3f3f3f3f3f3f
#define pii pair<int,int>
#define fi first
#define se second
#define all(_a) _a.begin(), _a.end()
#define rep(i,p,q) for (int i=(p);i<=(q);i++)
#define pre(i,p,q) for (int i=(p);i>=(q);i--)
const int N=5e5+5; int n,a[N],p[N],f[N];
void solve(){
int m,l,r; queue<int>q;
cin>>n;
rep(i,1,n) cin>>a[i];
n++; a[n]=0;
rep(i,1,n) f[i]=1e18,p[i]=0;
cin>>m;
rep(i,1,m) cin>>l>>r,p[r]=max(p[r],l);
rep(i,1,n) p[i]=max(p[i],p[i-1]);
q.push(0);
rep(i,1,n) {
for (;q.size()&&q.front()<p[i-1];) q.pop();
f[i]=f[q.front()]+a[i];
for (;q.size()&&f[q.front()]>f[i];) q.pop();
q.push(i);
}
cout<<f[n]<<"\n";
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
cout << setiosflags(ios::fixed) << setprecision(15);
int T;
T=1;
cin>>T;
while(T--)solve();
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 7976kb
input:
2 5 3 2 4 1 100 3 1 3 2 4 5 5 5 7 3 4 2 2 3 1 4 2 3 4 5
output:
102 5
result:
ok 2 number(s): "102 5"
Test #2:
score: -100
Wrong Answer
time: 42ms
memory: 9004kb
input:
6201 12 88 78 46 95 84 98 55 3 68 42 6 18 19 6 9 10 11 12 12 8 11 8 12 2 3 2 3 1 5 9 9 7 8 6 11 2 4 12 12 2 4 2 9 7 10 8 8 1 7 6 11 5 76 27 48 66 61 2 1 4 3 5 8 64 81 20 6 86 9 4 55 1 7 7 9 1 43 18 81 11 22 9 61 83 14 5 6 2 6 5 8 1 4 9 9 9 9 7 7 2 5 8 9 5 6 4 8 5 8 9 9 6 6 10 66 41 84 7 80 31 22 96 ...
output:
209 48 4 157 362 141 42 220 174 139 176 206 136 104 230 127 287 89 215 130 148 46 1 193 265 93 239 303 236 150 177 57 46 82 91 66 83 160 151 62 35 168 156 81 171 184 54 242 126 121 296 86 311 244 333 87 302 81 239 173 30 129 75 113 113 179 81 382 174 163 77 228 194 373 211 56 136 39 234 101 340 137 ...
result:
wrong answer 1st numbers differ - expected: '141', found: '209'