QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#808675#9870. Itemsucup-team1134Compile Error//C++233.0kb2024-12-10 23:26:062024-12-10 23:26:07

Judging History

你现在查看的是最新测评结果

  • [2024-12-10 23:26:07]
  • 评测
  • [2024-12-10 23:26:06]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return true; } return false; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return true; } return false; }
#define vi vector<int>
#define vl vector<ll>
#define vii vector<pair<int,int>>
#define vll vector<pair<ll,ll>>
#define vvi vector<vector<int>>
#define vvl vector<vector<ll>>
#define vvii vector<vector<pair<int,int>>>
#define vvll vector<vector<pair<ll,ll>>>
#define vst vector<string>
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pb push_back
#define all(x) (x).begin(),(x).end()
#define mkunique(x) sort(all(x));(x).erase(unique(all(x)),(x).end())
#define fi first
#define se second
#define mp make_pair
#define si(x) int(x.size())
const int mod=998244353,MAX=200005;
const ll INF=15LL<<58;

bitset<MAX> mada,dp;
ll cost[MAX],D[MAX];

int main(){
    
    std::ifstream in("text.txt");
    std::cin.rdbuf(in.rdbuf());
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    int Q;cin>>Q;
    while(Q--){
        ll N,M;cin>>N>>M;
        vl S(N);
        for(int i=0;i<N;i++){
            cin>>S[i];
        }
        sort(all(S));
        for(int i=1;i<N;i++){
            S[i]-=S[0];
        }
        M-=S[0]*N;
        S[0]=0;
        if(M<0){
            cout<<"No\n";
            continue;
        }
        if(S.back()==0){
            if(M==0) cout<<"Yes\n";
            else cout<<"No\n";
            continue;
        }
        
        int K=S.back();
        dp.reset();
        mada.reset();
        mada[0]=mada[K]=false;
        for(int i=1;i<K+K;i++){
            mada[i]=true;
        }
        for(int i=0;i<K;i++){
            cost[i]=INF;
            D[i]=INF;
        }
        cost[0]=0;
        D[0]=0;
        for(ll x:S){
            if(x<K) dp[x]=1;
        }
        
        priority_queue<pair<ll,int>> PQ;
        PQ.push(mp(0,0));
        while(!PQ.empty()){
            auto [d,u]=PQ.top();PQ.pop();
            if(cost[u]<d) continue;
            auto nex=(dp<<u)&mada;
            while(1){
                int i=nex._Find_first();
                if(i<MAX){
                    i%=K;
                    if(cost[u]+(i-u+K)%K<=M){
                        if(mada[i]){
                            cost[i]=cost[u]+(i-u+K)%K;
                            D[i]=D[u]+1;
                            mada[i]=false;
                            mada[i+K]=false;
                            Q.push(i);
                        }else if(D[i]==D[u]+1){
                            chmax(cost[i],cost[u]+(i-u+K)%K);
                        }
                    }
                    nex[i]=false;
                    nex[i+K]=false;
                }else{
                    break;
                }
            }
        }
        
        if(D[M%K]>=N||cost[M%K]>M) cout<<"No\n";
        else{
            if(D[M%K]+(M-cost[M%K])/K<=N) cout<<"Yes\n";
            else cout<<"No\n";
        }
    }
}



Details

answer.code: In function ‘int main()’:
answer.code:93:31: error: request for member ‘push’ in ‘Q’, which is of non-class type ‘int’
   93 |                             Q.push(i);
      |                               ^~~~