| Task: | Sum |
| Sender: | elektrijanes |
| Submission time: | 2019-01-20 21:39:24 +0200 |
| Language: | C++ |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.01 s | details |
| #2 | WRONG ANSWER | 0.02 s | details |
| #3 | WRONG ANSWER | 0.01 s | details |
| #4 | WRONG ANSWER | 0.02 s | details |
| #5 | WRONG ANSWER | 0.02 s | details |
| #6 | WRONG ANSWER | 0.02 s | details |
| #7 | WRONG ANSWER | 0.03 s | details |
| #8 | WRONG ANSWER | 0.03 s | details |
| #9 | WRONG ANSWER | 0.03 s | details |
| #10 | WRONG ANSWER | 0.02 s | details |
| #11 | WRONG ANSWER | 0.01 s | details |
| #12 | WRONG ANSWER | 0.02 s | details |
| #13 | WRONG ANSWER | 0.02 s | details |
| #14 | WRONG ANSWER | 0.02 s | details |
| #15 | WRONG ANSWER | 0.01 s | details |
| #16 | WRONG ANSWER | 0.02 s | details |
| #17 | WRONG ANSWER | 0.03 s | details |
| #18 | WRONG ANSWER | 0.02 s | details |
| #19 | WRONG ANSWER | 0.01 s | details |
| #20 | WRONG ANSWER | 0.02 s | details |
| #21 | WRONG ANSWER | 0.01 s | details |
| #22 | WRONG ANSWER | 0.01 s | details |
| #23 | WRONG ANSWER | 0.02 s | details |
| #24 | WRONG ANSWER | 0.01 s | details |
| #25 | WRONG ANSWER | 0.02 s | details |
| #26 | WRONG ANSWER | 0.03 s | details |
| #27 | WRONG ANSWER | 0.02 s | details |
| #28 | WRONG ANSWER | 0.03 s | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:88:7: warning: unused variable 'f' [-Wunused-variable]
int f=leiap(1,1,c,a,b);
^
input/code.cpp: In function 'int leiap(int, int, int, int, int)':
input/code.cpp:66:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^Code
#include <bits/stdc++.h>
#include <bits/stdc++.h>
#define mis(x) cout << #x <<" = " <<x<<endl
#define rep(i, a, b) for(int i=(a);(i)<(b);(i)++)
#define re(i,a) rep((i),0,(a))
using namespace std;
typedef long long ll;
ifstream fin("AAtest.in.txt");
int const cc=1000001;
int n,l,c,k,a,b,q,ma,koht;
ll h,g;
vector<pair<ll,int> > p;
vector<int> m,pai,t;
void loe(){
cin>>n>>q;
re(i,n){
cin>>h;
p.push_back({h,i});
}
sort(p.begin(),p.end());
m.resize(n);
g=p[0].first; l=1;
re(i,n){
if(i and g<p[i].first){
g=p[i].first;
l++;
}
m[p[i].second]=l;
}
// for(auto i:m)cout<<i<<" ";cout<<endl;
}
void pane(int n,int x,int y,int i,int v){
if(i<x or y<i)return;
if(x==y){t[n]=v;return; }
pane(n*2,x,(x+y)/2,i,v);
pane(n*2+1,(x+y)/2+1,y,i,v);
t[n]=min(t[n*2],t[n*2+1]);
}
int leia(int n,int x,int y,int i,int j){
if(j<x or y<i)return cc;
if(i<=x and y<=j)return t[n];
return(min(leia(n*2,x,(x+y)/2,i,j),leia(n*2+1,(x+y)/2+1,y,i,j)));
}
void pik(int n,int x,int y,int i,int v){
if(i<x or y<i)return;
if(x==y){//cout<<n<<" "<<i<<" "<<v<<endl;
t[n]=v;
return;
}
pik(n*2,x,(x+y)/2,i,v);
pik(n*2+1,(x+y)/2+1,y,i,v);
t[n]=max(t[n*2],t[n*2+1]);
}
int leiap(int n,int x,int y,int i,int j){//cout<<x<<" "<<y<<" "<<i<<" "<<j<<" "<<ma<<endl;
if(j<x or y<i)return -1;
if(x==y){//cout<<x;
koht=n-c;
return t[n];
}
if(t[n*2]>ma)ma=max(ma,leiap(n*2,x,(x+y)/2,i,j));
if(t[n*2+1]>ma)ma=max(ma,leiap(n*2+1,(x+y)/2+1,y,i,j));
}
int main(){
ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);cerr.tie(0);
loe();
c=1;while(c<=l)c<<=1;t.resize(2*c+5,cc);
pai.resize(n,0);
for(int i=n-1;i>=0;i--){
k=cc;
pane(1,1,c,m[i],i);
if(m[i]<l) k=leia(1,1,c,m[i]+1,l);
if(k<cc) pai[i]=pai[k]+1;
}
//for(auto i:pai)cout<<i<<" ";cout<<endl;
c=1;while(c<=n)c<<=1;//mis(c);
t.resize(2*c+5);
re(i,2*c+5)t[i]=-1;
re(i,n) pik(1,1,c,i+1,m[i]);
// for(auto i:t)cout<<i<<" ";cout<<endl;
re(i,q){
cin>>a>>b;
ma=0;koht=0;
int f=leiap(1,1,c,a,b);
int vas=pai[a-1]-pai[koht]+1;
// mis(koht);
// mis(f);
cout<<vas<<endl;
}
}
Test details
Test 1
Verdict: WRONG ANSWER
| input |
|---|
| 1 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 2
Verdict: WRONG ANSWER
| input |
|---|
| 2 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 3
Verdict: WRONG ANSWER
| input |
|---|
| 3 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 4
Verdict: WRONG ANSWER
| input |
|---|
| 4 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 5
Verdict: WRONG ANSWER
| input |
|---|
| 5 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 6
Verdict: WRONG ANSWER
| input |
|---|
| 6 |
| correct output |
|---|
| 1 |
| user output |
|---|
| (empty) |
Test 7
Verdict: WRONG ANSWER
| input |
|---|
| 7 |
| correct output |
|---|
| 1 |
| user output |
|---|
| (empty) |
Test 8
Verdict: WRONG ANSWER
| input |
|---|
| 8 |
| correct output |
|---|
| 2 |
| user output |
|---|
| (empty) |
Test 9
Verdict: WRONG ANSWER
| input |
|---|
| 9 |
| correct output |
|---|
| 3 |
| user output |
|---|
| (empty) |
Test 10
Verdict: WRONG ANSWER
| input |
|---|
| 10 |
| correct output |
|---|
| 4 |
| user output |
|---|
| (empty) |
Test 11
Verdict: WRONG ANSWER
| input |
|---|
| 20 |
| correct output |
|---|
| 24 |
| user output |
|---|
| (empty) |
Test 12
Verdict: WRONG ANSWER
| input |
|---|
| 30 |
| correct output |
|---|
| 61 |
| user output |
|---|
| (empty) |
Test 13
Verdict: WRONG ANSWER
| input |
|---|
| 40 |
| correct output |
|---|
| 114 |
| user output |
|---|
| (empty) |
Test 14
Verdict: WRONG ANSWER
| input |
|---|
| 50 |
| correct output |
|---|
| 184 |
| user output |
|---|
| (empty) |
Test 15
Verdict: WRONG ANSWER
| input |
|---|
| 60 |
| correct output |
|---|
| 271 |
| user output |
|---|
| (empty) |
Test 16
Verdict: WRONG ANSWER
| input |
|---|
| 70 |
| correct output |
|---|
| 374 |
| user output |
|---|
| (empty) |
Test 17
Verdict: WRONG ANSWER
| input |
|---|
| 80 |
| correct output |
|---|
| 494 |
| user output |
|---|
| (empty) |
Test 18
Verdict: WRONG ANSWER
| input |
|---|
| 90 |
| correct output |
|---|
| 631 |
| user output |
|---|
| (empty) |
Test 19
Verdict: WRONG ANSWER
| input |
|---|
| 100 |
| correct output |
|---|
| 784 |
| user output |
|---|
| (empty) |
Test 20
Verdict: WRONG ANSWER
| input |
|---|
| 200 |
| correct output |
|---|
| 3234 |
| user output |
|---|
| (empty) |
Test 21
Verdict: WRONG ANSWER
| input |
|---|
| 300 |
| correct output |
|---|
| 7351 |
| user output |
|---|
| (empty) |
Test 22
Verdict: WRONG ANSWER
| input |
|---|
| 400 |
| correct output |
|---|
| 13134 |
| user output |
|---|
| (empty) |
Test 23
Verdict: WRONG ANSWER
| input |
|---|
| 500 |
| correct output |
|---|
| 20584 |
| user output |
|---|
| (empty) |
Test 24
Verdict: WRONG ANSWER
| input |
|---|
| 600 |
| correct output |
|---|
| 29701 |
| user output |
|---|
| (empty) |
Test 25
Verdict: WRONG ANSWER
| input |
|---|
| 700 |
| correct output |
|---|
| 40484 |
| user output |
|---|
| (empty) |
Test 26
Verdict: WRONG ANSWER
| input |
|---|
| 800 |
| correct output |
|---|
| 52934 |
| user output |
|---|
| (empty) |
Test 27
Verdict: WRONG ANSWER
| input |
|---|
| 900 |
| correct output |
|---|
| 67051 |
| user output |
|---|
| (empty) |
Test 28
Verdict: WRONG ANSWER
| input |
|---|
| 1000 |
| correct output |
|---|
| 82834 |
| user output |
|---|
| (empty) |
