請教一下版友我的程式碼哪裡有問題?
因為在電腦上跑測試都沒問題
但在資測時答案卻都不對
#include<iostream>
using namespace std;
int main() {
int n, q;
cin>>n>>q;
int tall[n], plus[q];
for(int i = 0; i < n; i++)
cin>>tall[i];
for(int i = 0; i < q; i++)
cin>>plus[i];
for(int i = 0; i < q; i++) {
bool has = false;
for(int j = 0; j < n-1; j++) {
int k = tall[j] > tall[j+1] ? tall[j]- tall[j+1] : tall[j+1]- tall[j];
if(plus[i] == k) {
has = true;
break;
}
}
if(has)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
請教一下版友我的程式碼哪裡有問題?
因為在電腦上跑測試都沒問題
但在資測時答案卻都不對
#include
using namespace std;
int main() {
int n, q;
cin>>n>>q;
int tall[n], plus[q];
for(int i = 0; i < n; i++)
cin>>tall[i];
for(int i = 0; i < q; i++)
cin>>plus[i];
for(int i = 0; i < q; i++) {
bool has = false;
for(int j = 0; j < n-1; j++) {
int k = tall[j] > tall[j+1] ? tall[j]- tall[j+1] : tall[j+1]- tall[j];
if(plus[i] == k) {
has = true;
break;
}
}
if(has)
cout<<"YES"<
else
cout<<"NO"<
}
return 0;
}
你只測試了相鄰的人的身高差,不相鄰的人沒有考慮到
然後我修改了一下就TLE了...我也不知道該怎麼AC
請教一下版友我的程式碼哪裡有問題?
因為在電腦上跑測試都沒問題
但在資測時答案卻都不對
#include
using namespace std;
int main() {
int n, q;
cin>>n>>q;
int tall[n], plus[q];
for(int i = 0; i < n; i++)
cin>>tall[i];
for(int i = 0; i < q; i++)
cin>>plus[i];
for(int i = 0; i < q; i++) {
bool has = false;
for(int j = 0; j < n-1; j++) {
int k = tall[j] > tall[j+1] ? tall[j]- tall[j+1] : tall[j+1]- tall[j];
if(plus[i] == k) {
has = true;
break;
}
}
if(has)
cout<<"YES"<
else
cout<<"NO"<
}
return 0;
}
你只測試了相鄰的人的身高差,不相鄰的人沒有考慮到然後我修改了一下就TLE了...我也不知道該怎麼AC
謝謝您的解答
修改了一下,現在變60分了
最後兩個資測TLE
有什麼方法降低複雜度嗎?
請教一下版友我的程式碼哪裡有問題?
因為在電腦上跑測試都沒問題
但在資測時答案卻都不對
#include
using namespace std;
int main() {
int n, q;
cin>>n>>q;
int tall[n], plus[q];
for(int i = 0; i < n; i++)
cin>>tall[i];
for(int i = 0; i < q; i++)
cin>>plus[i];
for(int i = 0; i < q; i++) {
bool has = false;
for(int j = 0; j < n-1; j++) {
int k = tall[j] > tall[j+1] ? tall[j]- tall[j+1] : tall[j+1]- tall[j];
if(plus[i] == k) {
has = true;
break;
}
}
if(has)
cout<<"YES"<
else
cout<<"NO"<
}
return 0;
}
你只測試了相鄰的人的身高差,不相鄰的人沒有考慮到然後我修改了一下就TLE了...我也不知道該怎麼AC
謝謝您的解答
修改了一下,現在變60分了
最後兩個資測TLE
有什麼方法降低複雜度嗎?
看了一下我的程式碼,發現可以再加速,終於AC了
我用的方法是先排序,然後二分搜,時間複雜度應該是O(QNlogN)。