QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#218657#6754. Selectioncurtain_cppAC ✓10ms3760kbC++143.3kb2023-10-18 16:28:332023-10-18 16:28:33

Judging History

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

  • [2023-10-18 16:28:33]
  • 评测
  • 测评结果:AC
  • 用时:10ms
  • 内存:3760kb
  • [2023-10-18 16:28:33]
  • 提交

answer

#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <vector>
#include <map>
#include <cmath>
#include <queue>
#include <set>
#include <stack>
#include <unordered_map>
using namespace std;
typedef long long  LL;
typedef unsigned long long uLL;
typedef pair<LL,LL> PII;
const int N = 2e5+10;
const int inf = 0x3f3f3f3f;
const double pi = acos(-1);
#define debug(x) cout<<"[debug]"#x<<"="<<x<<'\n';
template <int T>
struct ModInt {
    const static int MD = T;
    int x;
    ModInt(LL x = 0)
        : x(x % MD) {}
    int get() { return x; }
    ModInt operator+(const ModInt& that) const {
        int x0 = x + that.x;
        return ModInt(x0 < MD ? x0 : x0 - MD);
    }
    ModInt operator-(const ModInt& that) const {
        int x0 = x - that.x;
        return ModInt(x0 < MD ? x0 + MD : x0);
    }
    ModInt operator*(const ModInt& that) const {
        return ModInt((long long)x * that.x % MD);
    }
    ModInt operator/(const ModInt& that) const {
        return *this * that.inverse();
    }
    void operator+=(const ModInt& that) {
        x += that.x;
        if (x >= MD)
            x -= MD;
    }
    void operator-=(const ModInt& that) {
        x -= that.x;
        if (x < 0)
            x += MD;
    }
    void operator*=(const ModInt& that) { x = (long long)x * that.x % MD; }
    void operator/=(const ModInt& that) { *this = *this / that; }
    ModInt inverse() const {
        int a = x, b = MD, u = 1, v = 0;
        while (b) {
            int t = a / b;
            a -= t * b;
            std::swap(a, b);
            u -= t * v;
            std::swap(u, v);
        }
        if (u < 0)
            u += MD;
        return u;
    }
    friend ostream& operator<<(ostream& os, ModInt x) {
        os << x.get();
        return os;
    }
};//全局变量记得清零!
const int mod=998244353;
typedef ModInt<mod> mint;
LL gcd(LL a, LL b)
{
   return b ? gcd(b, a % b) : a;
}
void solve()
{
   int n,m,q;
   cin>>n>>m>>q;
   vector<PII>a(n);
   map<LL,LL>mp,mp1;
   vector<PII>g;
   for(int i=0;i<n;i++){
       cin>>a[i].first>>a[i].second;
       mp[i]=a[i].first;
       mp1[a[i].first]=i;
   }
       int cur=m,curpos=-1;
       sort(a.rbegin(),a.rend());
       for(int i=0;i<n;i++){
           if(a[i].second==1){
               curpos=mp1[a[i].first];
               if(curpos>=m) cur--;
               break;
           }
       }
       //cout<<curpos<<'\n';
   while(q--){
     int op;cin>>op;
     if(op==1){
        int pos,gen;
       cin>>pos>>gen;
       for(int i=0;i<n;i++){
           if(mp[pos-1]==a[i].first){
              a[i].second=gen;
           }
       }
     }else{
       int p;cin>>p;
       bool fl=false;
       sort(a.rbegin(),a.rend());
       cur=m;curpos=-1;
       for(int i=0;i<n;i++){
           if(a[i].second==1){
               curpos=mp1[a[i].first];
               if(i>=m) cur--;
               break;
           }
       }
       //cout<<curpos<<" ";
       for(int i=0;i<cur;i++){
            if(mp1[a[i].first]==p-1){
                 fl=true;break;
            }
       }
       if(fl||(p-1==curpos)) cout<<1<<'\n';
       else cout<<0<<'\n';
     }
   }
}
int main()
{
   ios::sync_with_stdio(0); cin.tie(0),cout.tie(0);
   solve();
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3608kb

input:

3 2 3
3 0
1 1
2 0
2 2
1 2 0
2 2

output:

1
0

result:

ok 2 number(s): "1 0"

Test #2:

score: 0
Accepted
time: 10ms
memory: 3660kb

input:

1000 1 1000
617 0
199 0
776 0
536 1
258 0
311 1
579 0
844 0
356 1
587 0
564 0
782 0
37 1
717 1
612 1
245 1
444 1
750 0
52 1
92 1
741 0
266 1
71 1
189 1
419 1
580 1
585 1
268 1
255 0
490 1
70 1
497 1
829 1
469 1
641 0
929 1
379 1
507 0
474 1
407 0
221 1
985 0
815 1
217 0
445 1
386 0
132 0
154 0
736 1...

output:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 470 numbers

Test #3:

score: 0
Accepted
time: 10ms
memory: 3756kb

input:

1000 1 1000
541 1
236 1
583 1
99 0
324 0
107 0
459 0
854 0
772 0
426 1
717 1
806 0
335 0
503 0
860 0
463 1
306 1
813 0
947 1
989 0
736 1
713 0
65 1
222 0
428 0
680 0
652 1
681 1
661 0
595 1
474 1
70 1
641 1
688 0
591 0
20 1
330 1
563 0
38 1
638 1
391 1
979 1
488 0
829 0
956 1
395 1
694 0
669 0
567 0...

output:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 516 numbers

Test #4:

score: 0
Accepted
time: 10ms
memory: 3760kb

input:

1000 50 1000
950 0
163 0
276 0
422 1
449 0
81 0
245 1
995 1
908 1
466 0
123 0
848 1
749 0
370 1
86 1
299 1
384 0
570 1
678 0
713 0
360 0
737 0
627 0
60 1
250 1
88 1
915 1
145 0
863 0
925 1
742 0
409 1
858 1
441 0
803 0
811 1
575 0
47 0
271 1
107 1
431 0
677 1
704 0
340 0
160 0
856 1
176 0
488 1
832 ...

output:

0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
...

result:

ok 511 numbers

Test #5:

score: 0
Accepted
time: 10ms
memory: 3732kb

input:

1000 1 1000
900 1
127 1
89 1
836 1
434 1
912 1
459 0
155 1
394 0
669 1
33 1
584 0
80 0
433 1
284 1
43 0
377 0
84 1
91 1
158 0
406 1
654 0
604 0
469 1
352 1
762 1
824 0
423 1
172 0
62 1
399 0
130 1
19 1
640 1
212 0
215 0
661 0
597 0
309 1
688 1
978 0
677 0
170 0
853 1
448 1
945 1
765 0
751 0
830 0
25...

output:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 467 numbers

Test #6:

score: 0
Accepted
time: 10ms
memory: 3676kb

input:

1000 10 1000
135 1
844 1
342 0
548 0
385 0
595 1
271 1
189 0
685 0
951 0
586 0
132 0
537 0
99 1
828 1
676 1
407 1
20 0
297 0
91 1
336 1
113 0
370 1
498 0
201 1
866 1
64 0
443 0
852 0
46 0
51 0
146 1
650 1
60 0
349 0
773 1
556 0
219 1
526 1
659 1
913 1
260 1
186 0
787 0
130 1
669 0
307 1
105 1
316 1
...

output:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 488 numbers