QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#641923#6164. 幸运数字Elegia100 ✓36ms5324kbC++142.4kb2024-10-15 03:19:442024-10-15 03:19:45

Judging History

你现在查看的是最新测评结果

  • [2024-10-15 03:19:45]
  • 评测
  • 测评结果:100
  • 用时:36ms
  • 内存:5324kb
  • [2024-10-15 03:19:44]
  • 提交

answer

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <ctime>
#include <cctype>

#include <algorithm>
#include <random>
#include <bitset>
#include <queue>
#include <functional>
#include <set>
#include <map>
#include <vector>
#include <chrono>
#include <iostream>
#include <limits>
#include <numeric>

#define LOG(FMT...) fprintf(stderr, FMT)

using namespace std;

typedef long long ll;
typedef unsigned long long ull;

// mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

template<class T>
istream &operator>>(istream &is, vector<T> &v) {
  for (T &x : v)
    is >> x;
  return is;
}

template<class T>
ostream &operator<<(ostream &os, const vector<T> &v) {
  if (!v.empty()) {
    os << v.front();
    for (int i = 1; i < v.size(); ++i)
      os << ' ' << v[i];
  }
  return os;
}

typedef pair<ll, int> pii;

bool cmp(const pii& lhs, const pii& rhs) {
  if (lhs.first > rhs.first) return false;
  if (lhs.first < rhs.first) return true;
  if (abs(lhs.second) < abs(rhs.second)) return false;
  if (abs(lhs.second) > abs(rhs.second)) return true;
  return lhs.first < rhs.first;
}

int main() {
#ifdef ELEGIA
  freopen("test.in", "r", stdin);
  int nol_cl = clock();
#endif
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int n;
  cin >> n;
  vector<pair<int, int>> disc;
  disc.emplace_back(-1e9 - 10, 0);
  disc.emplace_back(1e9 + 10, 0);
  while (n--) {
    int t;
    cin >> t;
    if (t == 1) {
      int l, r, x;
      cin >> l >> r >> x;
      disc.emplace_back(l, x);
      disc.emplace_back(r + 1, x);
    } else {
      int p, x;
      cin >> p >> x;
      disc.emplace_back(p, x);
      disc.emplace_back(p + 1, x);
      if (t == 3)
        disc[0].second ^= x;
    }
  }
  sort(disc.begin(), disc.end());
  pii ans(-1, 0);
  int xsum = 0;
  for (int i = 0; i + 1 < disc.size(); ++i) {
    xsum ^= disc[i].second;
    if (disc[i].first < disc[i + 1].first) {
      pii cur(xsum, disc[i].first);
      cur = max(cur, pii(xsum, disc[i + 1].first - 1), cmp);
      if (disc[i].first <= 0 && disc[i + 1].first > 0)
        cur.second = 0;
      ans = max(ans, cur, cmp);
    }
  };
  cout << ans.first << ' ' << ans.second << '\n';

#ifdef ELEGIA
  LOG("Time: %dms\n", int ((clock()
          -nol_cl) / (double)CLOCKS_PER_SEC * 1000));
#endif
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Pretests


Final Tests

Test #1:

score: 5
Accepted
time: 1ms
memory: 3632kb

input:

1000
3 0 116969979
3 368 180480073
3 -545 391749388
1 -6 297 176077477
3 798 108368066
2 482 675016434
3 251 536075110
2 9 706221269
3 -60 268159990
1 -60 149 8670529
3 -500 378261451
1 -332 -331 86546365
3 814 366496749
3 589 347149485
3 -610 137583463
3 -528 112400107
1 -832 989 416998222
1 500 88...

output:

1073554444 860

result:

ok 2 number(s): "1073554444 860"

Test #2:

score: 5
Accepted
time: 1ms
memory: 3564kb

input:

1000
3 -972 304988612
1 -972 81 388197706
2 700 589621513
1 400 647 37204129
1 -472 -401 201419461
3 942 692882781
1 854 874 141245452
3 -648 139801751
2 190 195088156
1 -724 676 326792421
3 -178 80721199
3 -616 308058017
2 216 160629769
3 700 210485440
2 -633 132825161
1 32 850 208796879
3 -172 243...

output:

1069100987 56

result:

ok 2 number(s): "1069100987 56"

Test #3:

score: 5
Accepted
time: 1ms
memory: 3584kb

input:

1000
3 -633 478404649
1 -633 947 21856089
1 281 992 96925280
3 691 68361274
3 -205 327955945
3 96 4892301
3 -220 819956008
3 -556 185453961
3 280 181840831
1 -408 -275 261586423
1 -822 45 296579977
1 -150 -29 87350693
1 -227 -211 37950656
1 -248 -227 278407801
2 -649 46746145
2 -457 611651881
1 207 ...

output:

1072830144 751

result:

ok 2 number(s): "1072830144 751"

Test #4:

score: 5
Accepted
time: 1ms
memory: 3524kb

input:

1000
3 828 298295581
1 -208 761 33092065
2 -64 437533
3 -608 424025829
3 172 394496809
2 648 53822464
1 203 443 397879093
1 -135 -84 110148380
2 -84 39717136
3 -330 48389515
3 -416 128451365
2 175 308523788
2 172 91439334
3 82 493161050
1 593 730 580960513
3 -651 112627149
3 -978 487839876
3 490 353...

output:

1071382241 481

result:

ok 2 number(s): "1071382241 481"

Test #5:

score: 5
Accepted
time: 1ms
memory: 3636kb

input:

1000
2 -520300352 102387889
2 17087320 617575609
3 -213670484 302384716
1 448135298 597884461 199612337
1 137210778 712960635 630354131
1 107773870 116988410 88411477
1 -148396000 59537512 209538064
1 59537512 191572513 387208256
2 716814412 185873505
1 -213623153 -162913442 412507905
3 -29432634 54...

output:

1072577055 95457914

result:

ok 2 number(s): "1072577055 95457914"

Test #6:

score: 5
Accepted
time: 1ms
memory: 3648kb

input:

1000
1 61295320 158977235 111487725
1 5266414 592731956 30915946
2 218533885 178600001
2 254433874 234795871
1 926661493 997878431 80611928
3 208905616 135113995
2 467686354 239970473
3 144978760 87726064
2 212374666 9320635
1 376774042 626507375 258124240
1 136157416 638895227 57883871
3 60693214 8...

output:

755082945 0

result:

ok 2 number(s): "755082945 0"

Test #7:

score: 5
Accepted
time: 1ms
memory: 3628kb

input:

1000
2 -231120000 212737073
1 -1493096 429328760 55441301
3 -44963864 91096766
2 173065900 31694927
2 -5448860 2538229
1 -197482496 300570294 140501469
1 38766771 96521608 8823959
2 254731166 8098650
2 7698078 53524875
3 -17150310 36466426
1 618069312 640661292 201708529
1 -112315889 14608140 121343...

output:

790817672 -1000000000

result:

ok 2 number(s): "790817672 -1000000000"

Test #8:

score: 5
Accepted
time: 1ms
memory: 3792kb

input:

1000
3 72514431 217308477
1 118653938 150657589 831803233
3 -259992018 211657909
3 -188902032 160822618
1 -792247297 -753537102 756626400
1 535671360 539537111 283023685
2 -178107244 386896859
1 274921600 555313255 436200571
1 803135760 806730955 157853557
3 132958980 224941837
2 -72418230 252950479...

output:

1073578121 326258647

result:

ok 2 number(s): "1073578121 326258647"

Test #9:

score: 5
Accepted
time: 36ms
memory: 5184kb

input:

100000
2 403699940 639028597
1 56011900 820939549 555856510
3 184368216 252747638
2 10188770 172059423
1 718698695 979360021 188927044
1 406328538 433633035 409634094
2 870861660 119140957
3 26550452 10779991
1 784462214 813407505 425916640
1 343886322 472049671 151815526
3 59013150 175825723
1 6338...

output:

1073739797 104477558

result:

ok 2 number(s): "1073739797 104477558"

Test #10:

score: 5
Accepted
time: 33ms
memory: 5192kb

input:

100000
1 -253691476 -249677621 76818851
1 -235284829 -209256670 62856921
2 -6729603 282986353
2 -897981750 632913282
3 -464024410 41995701
2 -39146250 260009941
3 -98258902 243095464
3 -31291742 128177859
1 -618389010 -129011615 224528301
3 -346456 130191681
3 -778688640 366130241
3 -381572705 83993...

output:

1073715051 -10297287

result:

ok 2 number(s): "1073715051 -10297287"

Test #11:

score: 5
Accepted
time: 34ms
memory: 5244kb

input:

100000
2 -256195790 205433295
3 -2980406 15437050
2 -244468240 109436985
2 -692307357 98222695
3 99460032 57791449
1 -211194568 688967289 107000690
1 -122480512 -71564799 42476617
1 -178700365 666291212 69644611
3 566930000 10388928
3 -65775078 77345281
2 -2058279 122469523
3 -434370706 232135432
1 ...

output:

688585642 -1000000000

result:

ok 2 number(s): "688585642 -1000000000"

Test #12:

score: 5
Accepted
time: 33ms
memory: 5260kb

input:

100000
1 118004040 555856099 39270606
3 52262352 43008535
2 -40860000 201570405
1 -55420432 633681493 53686333
2 105063035 148500102
1 165772178 267007554 6358576
1 -451201592 -213319119 8471035
3 -717226407 801111
2 449208009 158632486
3 366529044 35671955
3 333266076 111803585
2 -66051576 4542220
...

output:

605977972 1000000000

result:

ok 2 number(s): "605977972 1000000000"

Test #13:

score: 5
Accepted
time: 34ms
memory: 5156kb

input:

100000
1 -370284743 -358477256 128949989
1 -214194196 -213617013 18078061
2 -45901170 101860597
1 -248246975 -211652022 13432885
1 -62751765 -48635138 89655177
1 -84525364 -83582931 147819729
3 -10924210 103337801
3 -462947418 171424246
3 -674558443 253849001
3 -309773170 2279376
2 -91053442 1796966...

output:

782758178 0

result:

ok 2 number(s): "782758178 0"

Test #14:

score: 5
Accepted
time: 26ms
memory: 5164kb

input:

100000
2 -341038068 209535001
3 -47763023 6937701
3 823518705 58554987
2 -68571006 321835121
1 193415136 197606317 47059258
2 148623555 163479325
3 -271765340 12594169
2 -271765340 1234927
3 -73582944 44070121
1 -66489774 31097407 229192305
1 -1323054 72350743 519607884
2 -73031161 958087426
2 -9865...

output:

1073741630 165517112

result:

ok 2 number(s): "1073741630 165517112"

Test #15:

score: 5
Accepted
time: 34ms
memory: 5168kb

input:

100000
3 676300392 597954279
2 -29581936 36531843
1 -395849904 19964755 19096449
3 19964755 64656691
1 68830239 119638288 364833424
3 81948156 255782506
3 -597414906 121865493
1 145483944 369268646 225356071
2 -152914534 59320801
3 151432317 53524453
3 -213732701 89122489
3 -331249644 31433528
2 -14...

output:

1073739655 225284125

result:

ok 2 number(s): "1073739655 225284125"

Test #16:

score: 5
Accepted
time: 33ms
memory: 5088kb

input:

100000
3 -443946096 173019082
3 69891624 478258775
2 -678057842 56125567
3 -440970952 35353761
2 -55301697 170092067
2 49117640 617736412
1 69903612 643193943 458241301
1 131846286 134407705 422909911
2 -655508958 447560114
1 -569993710 -371396115 8707121
2 -382664352 203276186
2 -9141839 771042280
...

output:

1073726076 598939719

result:

ok 2 number(s): "1073726076 598939719"

Test #17:

score: 5
Accepted
time: 33ms
memory: 5168kb

input:

100000
3 97614192 137934921
1 -122675006 7045699 6847261
2 -680981400 387092644
1 32646768 419337489 14437709
2 137052006 19933963
3 149261190 226643530
3 -113792520 263271721
1 190190522 317274405 36763357
2 -401993928 79091776
2 -581746260 43377533
2 30467999 36155806
3 155552664 139282459
3 45754...

output:

1073730499 153828072

result:

ok 2 number(s): "1073730499 153828072"

Test #18:

score: 5
Accepted
time: 30ms
memory: 5156kb

input:

100000
3 -579864344 259666093
1 60243111 120338362 35454421
1 136187088 147059329 130539331
1 673160818 708043668 245621603
1 -239673192 306048793 207702425
3 7112076 12900469
2 251507648 521135288
2 -157248776 480902973
1 13566684 437045453 152598427
3 -20208848 124933953
1 -140052780 -43596874 354...

output:

1073740919 929008188

result:

ok 2 number(s): "1073740919 929008188"

Test #19:

score: 5
Accepted
time: 33ms
memory: 5160kb

input:

100000
1 398965375 904585172 108811501
3 -551459920 125674861
3 -555163675 253035268
3 -112095924 43593050
1 -187187175 -164995403 17593873
1 -70821876 -65999465 568753465
2 85467009 46523777
3 -160844196 250048423
1 -11294952 223776985 322198031
1 -131223048 -11294952 242629018
1 18855096 364331039...

output:

1073731008 366116570

result:

ok 2 number(s): "1073731008 366116570"

Test #20:

score: 5
Accepted
time: 29ms
memory: 5324kb

input:

100000
3 218701353 271461332
1 176330088 510206905 615603631
1 -215780796 84849901 392693281
1 201923708 918098661 247463401
3 -510998766 59355941
3 663339796 126134276
1 -411947292 -160920737 411877701
3 -39170670 425693714
1 -626893400 -616789823 247892631
1 -33760386 316945036 152361553
3 -238209...

output:

1073739406 201437466

result:

ok 2 number(s): "1073739406 201437466"

Extra Test:

score: 0
Extra Test Passed