| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1329939 | 12345678 | Meteors (POI11_met) | C++17 | 829 ms | 36220 KiB |
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll nx = 3e5+5;
ll n,m,k,a[nx],req[nx],l[nx],r[nx];
tuple<ll,ll,ll> meteor[nx];
vector<ll> stations[nx];
struct fenwick
{
ll fw[nx] = {};
void add(int idx, ll x)
{
while(idx <= m) fw[idx]+=x, idx += (idx&-idx);
}
void clr()
{
for(int i = 1; i <= m; i++) fw[i] = 0;
}
ll query(int idx)
{
ll sum = 0;
while(idx > 0) sum += fw[idx], idx -= (idx&-idx);
return sum;
}
} f;
int main()
{
ios::sync_with_stdio(false); cin.tie(0);
cin>>n>>m;
for(int i = 1; i <= m; i++) cin>>a[i], stations[a[i]].push_back(i);
for(int i = 1; i <= n; i++) cin>>req[i];
cin>>k;
for(int i = 1; i <= k; i++)
{
ll le,ri,val; cin>>le>>ri>>val;
meteor[i] = {le,ri,val};
}
for(int i = 1; i <= n; i++) l[i] = 1, r[i] = k+1;
bool done = 0;
while(!done)
{
done = 1;
vector<vector<ll>> freq(k+2);
for(int i = 1; i <= n; i++)
{
if(l[i]==r[i]) continue;
else
{
done = 0;
ll md = (l[i]+r[i])/2;
freq[md].push_back(i);
}
}
if(done) break;
f.clr();
for(int i = 1; i <= k+1; i++)
{
if(i!=k+1)
{
auto [left, right, val] = meteor[i];
if(left<right) f.add(left,val), f.add(right+1,-val);
else
{
f.add(left,val);
f.add(1,val);
f.add(right+1,-val);
}
}
for(auto idx : freq[i])
{
ll sum = 0;
for(auto u : stations[idx])
{
sum += f.query(u);
if (sum >= req[idx]) break;
}
if(sum >= req[idx]) r[idx] = i;
else l[idx] = i+1;
}
}
}
for(int i = 1; i <= n; i++)
{
if(l[i]==k+1) cout<<"NIE\n";
else cout<<l[i]<<"\n";
}
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
