답안 #431031

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
431031 2021-06-17T09:00:36 Z Hideo 푸드 코트 (JOI21_foodcourt) C++17
0 / 100
1000 ms 511508 KB
#include <bits/stdc++.h>
using namespace std;

#define all(s) s.begin(), s.end()
#define ll long long
#define fr first
#define sc second
#define pb push_back
#define mk make_pair
#define pi pair < int, int >

const int N = 65007;
const int INF = 1e9 + 7;

ll cnt[N];
int n, m, q;

deque < pair < ll , pi > > dq[N];

main (){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin >> n >> m >> q;
    for (int i = 1; i <= q; i++){
        int t;
        cin >> t;
        if (t == 1){
            int l, r, c, k;
            cin >> l >> r >> c >> k;
            for (int j = l; j <= r; j++){
                dq[j].pb({cnt[j], {k, c}});
                cnt[j] += k;
            }
        }
        else if (t == 2){
            int l, r, k;
            cin >> l >> r >> k;
            for (int j = l; j <= r; j++){
                int kc = k;
                while (!dq[j].empty() && kc){
                    int a = dq[j].front().sc.fr, b = dq[j].front().sc.sc, cc = dq[j].front().fr;
                    dq[j].pop_front();
                    if (a > kc){
                        dq[j].push_front({cc, {a - kc, b}});
                        break;
                    }
                    kc -= a;
                }
            }
        }
        else {
            int a;
            ll b;
            cin >> a >> b;
            if (dq[a].empty() || dq[a].back().fr + dq[a].back().sc.fr < b){
                cout << 0 << endl;
                continue;
            }
            int l = 0, r = dq[a].size();
            while (l + 1 < r){
                int mid = (l + r) >> 1;
                if (dq[a][mid].fr < b)
                    l = mid;
                else
                    r = mid;
            }
            cout << dq[a][l].sc.sc << endl;
        }
    }
}

Compilation message

foodcourt.cpp:20:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   20 | main (){
      | ^~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 44 ms 44484 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 44 ms 44484 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1099 ms 44592 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 75 ms 89164 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 44 ms 44484 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1096 ms 511508 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 44 ms 44484 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 44 ms 44484 KB Output isn't correct
2 Halted 0 ms 0 KB -