Submission #747635
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i,n) for(int (i)=0;(i)<(int)(n);++(i))
#define each(itr,c) for(__typeof(c.begin()) itr=c.begin(); itr!=c.end(); ++itr)
#define all(x) (x).begin(),(x).end()
#define mp make_pair
#define pb push_back
#define fi first
#define se second
typedef pair<int,int> pi;
/******************************
MaxSegTree.cpp START
******************************/
/******************************
区間の最大値を返すSegmentTree
******************************/
struct MaxSegTree{
long n; vector<ll> dat;
//初期化
MaxSegTree(long _n){
n=1;
while(n<_n) n*=2;
dat=vector<ll>(2*n-1,0);
}
//k番目(0-indexed)の値をaに変更
void update(long k, ll a){
k+=n-1;
dat[k]=max(dat[k],a);
//更新
while(k>0){
k=(k-1)/2;
dat[k]=max(dat[2*k+1],dat[2*k+2]);
}
}
//内部的に投げられるクエリ
ll _query(long a, long b, long k, long l, long r){
if(r<=a || b<=l) return LLONG_MIN;
if(a<=l && r<=b) return dat[k];
else{
ll vl=_query(a,b,2*k+1,l,(l+r)/2);
ll vr=_query(a,b,2*k+2,(l+r)/2,r);
return max(vl,vr);
}
}
//[a,b)の最大値を求める
ll query(long a, long b){
return _query(a,b,0,0,n);
}
};
/******************************
MaxSegTree.cpp END
******************************/
int main()
{
int n;
cin >>n;
vector<pi> p(n);
rep(i,n) scanf(" %d %d", &p[i].fi, &p[i].se);
rep(i,n) p[i].se=-p[i].se;
sort(all(p));
rep(i,n) p[i].se=-p[i].se;
MaxSegTree s(100001);
rep(i,n)
{
ll res=s.query(0,p[i].se);
s.update(p[i].se,res+1);
}
cout << s.query(0,100001) << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
D - プレゼント |
User |
imulan |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
1923 Byte |
Status |
AC |
Exec Time |
81 ms |
Memory |
3072 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:67:49: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
rep(i,n) scanf(" %d %d", &p[i].fi, &p[i].se);
^
Judge Result
Set Name |
Sample |
Subtask0 |
All |
Score / Max Score |
0 / 0 |
30 / 30 |
70 / 70 |
Status |
|
|
|
Set Name |
Test Cases |
Sample |
sample0.txt, sample1.txt, sample2.txt, sample3.txt |
Subtask0 |
subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, sample0.txt, sample1.txt, sample2.txt, sample3.txt |
All |
subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt |
Case Name |
Status |
Exec Time |
Memory |
sample0.txt |
AC |
8 ms |
2304 KB |
sample1.txt |
AC |
7 ms |
2304 KB |
sample2.txt |
AC |
9 ms |
2304 KB |
sample3.txt |
AC |
7 ms |
2304 KB |
subtask0_0.txt |
AC |
7 ms |
2304 KB |
subtask0_1.txt |
AC |
7 ms |
2304 KB |
subtask0_10.txt |
AC |
8 ms |
2304 KB |
subtask0_11.txt |
AC |
8 ms |
2304 KB |
subtask0_12.txt |
AC |
8 ms |
2304 KB |
subtask0_13.txt |
AC |
8 ms |
2304 KB |
subtask0_14.txt |
AC |
8 ms |
2304 KB |
subtask0_2.txt |
AC |
7 ms |
2304 KB |
subtask0_3.txt |
AC |
7 ms |
2304 KB |
subtask0_4.txt |
AC |
8 ms |
2304 KB |
subtask0_5.txt |
AC |
7 ms |
2304 KB |
subtask0_6.txt |
AC |
8 ms |
2304 KB |
subtask0_7.txt |
AC |
8 ms |
2304 KB |
subtask0_8.txt |
AC |
8 ms |
2304 KB |
subtask0_9.txt |
AC |
8 ms |
2304 KB |
subtask1_0.txt |
AC |
52 ms |
2816 KB |
subtask1_1.txt |
AC |
9 ms |
2304 KB |
subtask1_10.txt |
AC |
62 ms |
3072 KB |
subtask1_11.txt |
AC |
60 ms |
3072 KB |
subtask1_12.txt |
AC |
81 ms |
3072 KB |
subtask1_13.txt |
AC |
81 ms |
3072 KB |
subtask1_14.txt |
AC |
81 ms |
3072 KB |
subtask1_2.txt |
AC |
19 ms |
2432 KB |
subtask1_3.txt |
AC |
70 ms |
2944 KB |
subtask1_4.txt |
AC |
80 ms |
3072 KB |
subtask1_5.txt |
AC |
18 ms |
2432 KB |
subtask1_6.txt |
AC |
62 ms |
2816 KB |
subtask1_7.txt |
AC |
37 ms |
2560 KB |
subtask1_8.txt |
AC |
71 ms |
2944 KB |
subtask1_9.txt |
AC |
39 ms |
2688 KB |