五月模拟c++

第一题为什么只能过60%
```
const int N = 1010;
int m[N][N];
int dp[N][N];

int main(){
    int n; 
    cin>>n;
    int maxx = 0,maxy = 0;;
    
    for(int i=0;i<n;i++){
        int x,y;
        cin>>x>>y;
        maxx = max(x,maxx);
        maxy = max(y,maxy);
        m[x][y] = 1;
    }
    for(int i=1;i<=maxx;i++){
        for(int j=1;j<=maxy;j++){
            dp[i][j] = dp[i-1][j]+dp[i][j-1]+m[i][j]-dp[i-1][j-1];
        }
    }
    
    int m;
    cin>>m;
    for(int i=0;i<m;i++){
        int x1,y1,x2,y2;
        cin>>x1>>y1>>x2>>y2;
        int area = dp[x2][y2]-dp[x1-1][y2]-dp[x2][y1-1]+dp[x1-1][y1-1];
        cout<<area<<endl;
    }
    return 0;
}

```
#笔试题目#
全部评论
我也是,一直超时
点赞 回复 分享
发布于 2019-05-15 21:06
我也是60%,显示超时TLE
点赞 回复 分享
发布于 2019-05-15 21:07
我也是,超时60%
点赞 回复 分享
发布于 2019-05-15 21:10
因为query部分的x,y 大于你上面的定义的maxx, maxy, dp[x][y]就拿不到值了
点赞 回复 分享
发布于 2019-05-15 21:23

相关推荐

点赞 评论 收藏
分享
找不到工作死了算了:没事的,雨英,hr肯主动告知结果已经超越大部分hr了
点赞 评论 收藏
分享
我见java多妩媚:大外包
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务