QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#781675 | #6692. Building Company | xixu | RE | 2ms | 8304kb | C++11 | 1.9kb | 2024-11-25 16:52:57 | 2024-11-25 16:53:19 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define fup(a, b, c, d) for(int a = (b); a <= (c); a += (d))
#define fdo(a, b, c, d) for(int a = (b); a >= (c); a -= (d))
typedef long long ll;
typedef pair<int , int> PII;
typedef map<int , int> MII;
const int inf = 0x3f3f3f3f, N = 2e5 + 10, M = 4e5 + 10, mod = 1e9 + 7;
const ll INF = 0x3f3f3f3f3f3f3f3f;
int g, n;
int yq[N];
map<int , priority_queue<PII, vector<PII>, greater<PII>>> he;
vector<PII> v[N];
queue<int> q;
vector<PII> ch;
map<int , int> mp;
void add(int op, int nu)
{
int &va = mp[op];
va += nu;
priority_queue<PII, vector<PII>, greater<PII>> &pq = he[op];
while(!pq.empty()) {
PII p = pq.top();
if(p.first > va) break ;
pq.pop();
if((-- yq[op]) == 0) q.push(p.second);
}
}
void solve()
{
cin >> g;
fup(i, 1, g, 1) {
int a, b;
cin >> a >> b;
ch.push_back({a,b});
}
cin >> n;
fup(i, 1, n, 1) {
int m, k;
cin >> m;
yq[i] = m;
fup(j, 1, m, 1) {
int a, b;
cin >> a >> b;
he[a].push({b, i});
}
cin >> k;
fup(j, 1, k, 1) {
int c, d;
cin >> c >> d;
v[i].push_back({c, d});
}
}
fup(i, 1, n, 1) {
if(!yq[i]) {
q.push(i);
}
}
for(auto x : ch) {
int op, nu;
op = x.first, nu = x.second;
add(op, nu);
}
int ans = 0;
while(!q.empty()) {
int id = q.front();
q.pop();
ans ++;
for(auto x : v[id]) add(x.first, x.second);
}
cout << ans << '\n';
}
signed main()
{
cin.tie(0);
cout.tie(0);
ios::sync_with_stdio(false);
int _ = 1;
// cin >> _;
while(_ --)
{
solve();
}
}
详细
Test #1:
score: 100
Accepted
time: 2ms
memory: 8304kb
input:
2 2 1 1 2 5 1 3 1 0 2 1 1 2 1 2 3 2 2 1 3 1 5 2 3 3 4 1 2 5 3 2 1 1 1 3 4 1 1 3 0 1 3 2
output:
4
result:
ok 1 number(s): "4"
Test #2:
score: -100
Runtime Error
input:
3 610031727 590328742 816793299 18485566 654221125 47823436 10 3 610031727 224714165 816793299 491951703 654221125 593479446 1 610031727 538596643 1 610031727 551036304 3 816793299 262985484 610031727 52580932 654221125 424397787 1 654221125 889197190 3 654221125 126924193 610031727 963399336 816793...