Submission #540197

# Submission time Handle Problem Language Result Execution time Memory
540197 2022-03-19T15:52:09 Z Evang Editor (BOI15_edi) C++17
35 / 100
3000 ms 4692 KB
#include <bits/extc++.h>
using namespace std;
using namespace __gnu_pbds;

#ifdef _DEBUG
#define dout(x) clog << "Line " << __LINE__ << ": " << #x << "=" << (x) << el
#else
#define dout(x)
#endif

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define uid(a,b) uniform_int_distribution<int>(a,b)(rng)

#define ins insert
#define ssize(x) (int((x).size()))
#define bs(args...) binary_search(args)
#define lb(args...) lower_bound(args)
#define ub(args...) upper_bound(args)
#define all(x) (x).begin(),(x).end()
#define mp(a, b) make_pair(a, b)
#define mt(args...) make_tuple(args)
#define pb push_back
#define eb emplace_back
#define ff first
#define ss second
#define die exit(0)

template<typename T>
using vc = vector<T>;
template<typename T>
using uset = unordered_set<T>;
template<typename A, typename B>
using umap = unordered_map<A, B>;
template<typename T, typename Comp>
using pq = std::priority_queue<T, vc<T>, Comp>;
template<typename T>
using maxpq = pq<T, less<T>>;
template<typename T>
using minpq = pq<T, greater<T>>;
template<typename T>
using oset = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

using db = double;
using ld = long double;
using ll = long long;
using ull = unsigned long long;
using pi = pair<int, int>;
using pll = pair<ll, ll>;
using vi = vc<int>;
using vll = vc<ll>;
using vpi = vc<pi>;
using vpll = vc<pll>;
using str = string;

constexpr char el = '\n';
constexpr char sp = ' ';
constexpr int inf = 0x3f3f3f3f;
constexpr ll llinf = 0x3f3f3f3f3f3f3f3fLL;
// ---------------------------------------------------------------------


const int N = 3e5+5;
int n, a[N], ind[N];
bitset<N> op;

signed main() {
    ios::sync_with_stdio(0); cin.tie(0);
    cout << fixed; clog << fixed; clog << unitbuf;
#ifdef _DEBUG
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    freopen("debug.txt", "w", stderr);
#else
    //freopen(".in", "r", stdin);
    //freopen(".out", "w", stdout);
#endif

    cin >> n;
    for(int i = 1; i <= n; ++i){
        cin >> a[i];
        if(a[i]<0) {
            op[i] = 1;
            a[i] = abs(a[i]);
            int j = i-1;
            while(op[j]&&a[j]>=a[i])
                j = ind[j];
            if(op[i])
                ind[i] = j-1;
            else
                ind[i] = j;
        }else
            ind[i] = i;

//        while(op[ind[i]])
//            ind[i] = ind[ind[i]];
//        cout << a[ind[i]] << el;
    }
    for(int i = 1; i <= n; ++i){
        int j = i;
        while(ind[j]!=j)
            j = ind[j];
        cout << a[j] << el;
    }
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 2 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 17 ms 400 KB Output is correct
6 Correct 0 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 51 ms 4684 KB Output is correct
2 Correct 53 ms 4692 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 54 ms 2360 KB Output is correct
2 Correct 1297 ms 2964 KB Output is correct
3 Execution timed out 3076 ms 1564 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 2 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 17 ms 400 KB Output is correct
6 Correct 0 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 51 ms 4684 KB Output is correct
11 Correct 53 ms 4692 KB Output is correct
12 Correct 54 ms 2360 KB Output is correct
13 Correct 1297 ms 2964 KB Output is correct
14 Execution timed out 3076 ms 1564 KB Time limit exceeded
15 Halted 0 ms 0 KB -