Submission #972734

#TimeUsernameProblemLanguageResultExecution timeMemory
972734vjudge1Detecting Molecules (IOI16_molecules)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include <sstream> #include "molecules.h" using namespace std; #define accepted ios_base::sync_with_stdio(false);cin.tie(nullptr); #define Daulbekov signed #define Makan main //#define int long long #define double long double #define pb push_back #define pf push_front #define F first #define S second const int N=2e5+7; const int MAX=9e18+7; const int INF=1e18; vector<int>find_subset(int l,int u,vector<int>w){ long long n=w.size(); pair<long long,long long>w1[n+1]; for(long long i=0;i<n;i++){ w1[i].F=w[i]; w1[i].S=i; } sort(w1,w1+n); long long l1=0,r1=0,sum=w1[0].F; vector<long long>ans; ans.clear(); while(l1<n&&r1<n){ if(l<=sum&&sum<=u){ for(long long i=l1;i<=r1;i++)ans.pb(w1[i].S); break; } else if(l>sum){ r1++; sum+=w1[r1].F; } else if(sum>u){ sum-=w1[l1].F; l1++; } } return ans; } //Daulbekov Makan(){ // accepted; // //} // 2 2 4 // 2 2 2 // 3 2 1 3 2 1 3 3 // 3 2 1 3 2 1

Compilation message (stderr)

molecules.cpp:15:19: warning: overflow in conversion from 'double' to 'int' changes value from '9.0e+18' to '2147483647' [-Woverflow]
   15 | const int MAX=9e18+7;
      |               ~~~~^~
molecules.cpp:16:15: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+18' to '2147483647' [-Woverflow]
   16 | const int INF=1e18;
      |               ^~~~
molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:42:9: error: could not convert 'ans' from 'vector<long long int>' to 'vector<int>'
   42 |  return ans;
      |         ^~~
      |         |
      |         vector<long long int>