题解:P11654 「FAOI-R5」becoder

· · 题解

红题,太水了。

思路

用两个数组 T,M 存读入的限制,再按照题意模拟即可。

题目已经把步骤讲得很清晰了,没什么好讲的。

  • 如果 \text{becoder} 的评测机在打瞌睡,评测结果会返回 System Error
  • 如果 \text{becoder} 的评测机没有打瞌睡,且你的代码空间超限,即 M_i>m_i,评测结果会返回 Memory Limit Exceeded
  • 如果 \text{becoder} 的评测机没有打瞌睡,且你的代码空间不超限,时间超限,即 M_i \le m_i,\lfloor \frac{T_i}{2} \rfloor>t_i,评测结果会返回 Time Limit Exceeded
  • 否则,\text{becoder} 评测机会返回 Accepted

只需要用 ifelse ifelse 模拟即可。

Code

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int n,l,r,T[maxn],M[maxn];
int main(){
    cin>>n>>l>>r;
    for(int i=1;i<=n;i++) cin>>T[i]>>M[i],T[i]/=2;
    for(int i=1;i<=n;i++){
        int t,m;cin>>t>>m;
        if(i>=l&&i<=r) cout<<"System Error\n";
        else if(M[i]>m) cout<<"Memory Limit Exceeded\n";
        else if(T[i]>t) cout<<"Time Limit Exceeded\n";
        else cout<<"Accepted\n";
    }
}