Submission #1087077

#TimeUsernameProblemLanguageResultExecution timeMemory
1087077Dennis_JasonIntercastellar (JOI22_ho_t1)C++14
25 / 100
3385 ms524288 KiB
#include <bitset> #include <cmath> #include <functional> #include <algorithm> #include <numeric> #include <system_error> #include <deque> #include <fstream> #include <iomanip> #include <iostream> #include <iterator> #include <limits> #include <list> #include <map> #include <unordered_map> #include <queue> #include <set> #include <stack> #include <string> #include <vector> #include <cstring> #include <climits> #define pb push_back #define MOD 1000000007 #define NMAX 200001 #define MAX 10000000 #define nl '\n' #define pii1 pair<int, pair<int,int>> (1,(1,2)); #define pii pair<int,int> #define tpl tuple<int,int,int> #define int long long using namespace std; ifstream fin("data.in"); ofstream fout("data.out"); const int INF=1e12; /* ====================DEMONSTRATION====================== =========================END=========================== */ int n; vector<int>v; int q; map<int,int>mp; int greatestOddFactor(int n) { int pow_2 = (int)(log(n)); int i = 1; while (i <= pow_2) { int fac_2 = (2 * i); if (n % fac_2 == 0) { if ((n / fac_2) % 2 == 1) { return (fac_2); } } i++; } return -1; } void prec() { for(int i=2;i<=MAX;i+=2) { mp[i]= greatestOddFactor(i); } } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); prec(); cin>>n; v.resize(n+1); vector<int>aux(n+1); vector<int>div(n+1); for(int i=1;i<=n;++i) { cin>>v[i]; if(v[i]%2==0) { if(mp[v[i]]==-1) mp[v[i]]=v[i]; aux[i] = mp[v[i]]; div[i] = v[i] / mp[v[i]]; } else { aux[i]=1; div[i]=v[i]; } } cin>>q; for(int i=1;i<=n;++i) { // cout<<div[i]<<" "; aux[i]+=aux[i-1]; } for(int i=1;i<=q;++i) { int x; cin>>x; int st=1; int dr=n; int res; while(st<=dr) { int mid=(st+dr)/2; if(aux[mid]>=x && aux[mid-1]<x) { res=mid; break; } if(aux[mid]<x) st=mid+1; else dr=mid-1; } cout<<div[res]<<nl; } return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:122:22: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
  122 |         cout<<div[res]<<nl;
      |                      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...