/ SeriousOJ /

Record Detail

Compile Error

foo.cc: In function 'int main()':
foo.cc:19:31: error: no matching function for call to 'std::vector<int>::push_back(<brace-enclosed initializer list>)'
   19 |         if(x>1)value.push_back({x,1});
      |                ~~~~~~~~~~~~~~~^~~~~~~
In file included from /usr/include/c++/13/vector:66,
                 from /usr/include/c++/13/functional:64,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:53,
                 from foo.cc:1:
/usr/include/c++/13/bits/stl_vector.h:1281:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = int; _Alloc = std::allocator<int>; value_type = int]'
 1281 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:1281:35: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::vector<int>::value_type&' {aka 'const int&'}
 1281 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_vector.h:1298:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = int; _Alloc = std::allocator<int>; value_type = int]'
 1298 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:1298:30: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<int>::value_type&&' {aka 'int&&'}
 1298 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~

Code

 #include<bits/stdc++.h>
#define ll long long int
using namespace std;
int main() {
    int t;
    cin>>t;
    while(t--){
        int n,x;
        cin>>n>>x;
        vector<int>value;
        vector<int>arr(n+1,0);
        for(int i=2;i<=sqrt(x)+1;i++){
               // cout<<"haha "<<x<<" "<<i<<endl;
            while(x%i==0){
                value.push_back(i);
                x/=i;
            }
        }
        if(x>1)value.push_back({x,1});
        for(int i=0;i<n;i++){
            cin>>arr[i];
        }
        sort(value.begin(),value.end());
        int age=0;
        int pt=0;
        vector<pair<int,int>>vv;
        for(int i=0;i<value.size();i++){
            if(pt==0)pt=value[i];
            if(pt==value[i])++age;
            else{
                vv.push_back({pt,age});
                pt=value[i];
                age=0;
            }
        }
        vv.push_back({pt,age});
       // for(int i=0;i<vv.size();i++)cout<<vv[i].first<<" "<<vv[i].second<<endl;
        vector<vector<int>>sum(vv.size()+1,vector<int>(n+1,0));
        for(int i=0;i<n;i++){
                int kk=arr[i];
            for(int j=0;j<vv.size();j++){
                while(kk%vv[j].first==0){
                        sum[j][i]++;
                     kk/=vv[j].first;
                }
            }
        }
        for(int i=1;i<n;i++){
            for(int j=0;j<vv.size();j++){
                    sum[j][i]+=sum[j][i-1];
                   // cout<<sum[j][i]<<" ";
            }
           // cout<<endl;
        }
        vector<int>akn(n+1,INT_MAX);
        for(int i=0;i<n;i++){
            int low=0,high=n-1;
            vector<int>biyok(vv.size(),0);
            if(i!=0){
                for(int j=0;j<vv.size();j++)biyok[j]=sum[j][i-1];
            }
            int ans=INT_MAX;
            while(high>=low){
                int mid=(high+low)/2;
                int flag=0;
                for(int j=0;j<vv.size();j++){
                    if(sum[j][mid]-biyok[j]<vv[j].second)flag=1;
                }
                if(!flag){
                    ans=mid;
                    high=mid-1;
                }else low=mid+1;

            }
            akn[i]=ans;
        }
        for(int i=n-2;i>=0;i--){
            akn[i]=min(akn[i],akn[i+1]);
        }
        int q;
        cin>>q;
        while(q--){
            int a,b;
            cin>>a>>b;
            if(akn[a-1]<=b-1)cout<<"Yes"<<endl;
            else cout<<"No"<<endl;
        }

    }
}

Information

Submit By
Type
Submission
Problem
P1128 Roy and Product
Contest
Brain Booster #7
Language
C++17 (G++ 13.2.0)
Submit At
2024-11-05 15:39:26
Judged At
2024-11-11 02:30:16
Judged By
Score
0
Total Time
0ms
Peak Memory
0 Bytes