Submission #1255429

#TimeUsernameProblemLanguageResultExecution timeMemory
1255429robijoyFinding Routers (IOI20_routers)C++17
Compilation error
0 ms0 KiB
/*
 *   Starting with the name of almighty ALLAH
 */

#include "routers.h"
// #include <bits/stdc++.h>
using namespace std;

// #define int long long

// vector<int> p = {0,6,8};
const int N = 1e5+5;
int dp[N];

// int use_detector(int x)
// {
//     vector<int>::iterator left, right;
//     right = upper_bound(p.begin(), p.end(), x);
//     left = prev(right);

//     if (right == p.end()) {
//         return p.size() - 1;
//     } else if ((x - *left) <= (*right - x)){
//         return std::distance(p.begin(), left);
//     } else {
//         return std::distance(p.begin(), right);
//     }
// }

vector<int> find_routers(int size, int n, int q) {
    memset(dp,-1,sizeof(dp));
    vector<int> ans;
    ans.push_back(0);
    int last = 0;
    for (int i = 0; i < n-1; ++i)
    {
        int l = ans[ans.size()-1]+1, r = size;
        int an = 0;
        while(l<=r) {
            int mid = (l+r)>>1;
            int x = 0;

            if(dp[mid]!=-1) {
                x = dp[mid];
            }else {   
                x = use_detector(mid);
                dp[mid] = x;
            }

            if(x == last) {
                l = mid+1;
            }else{
                an = mid;
                r = mid-1;
            }
        }
        int lasti = ans[ans.size()-1];
        int dis = an - lasti;
        dis--;
        ans.push_back(lasti+(dis*2));
        last++;
    }
    return ans;
}

// int32_t main() {
//     ios::sync_with_stdio(false);
//     cin.tie(0);
//     int l, n, q;
//     cin>>l>>n>>q;
//     vector<int> robi = find_routers(l,n,q);
//     for (int i = 0; i < robi.size(); ++i)
//     {
//         cout<<robi[i]<<' ';
//     }
// }

Compilation message (stderr)

routers.cpp: In function 'std::vector<int> find_routers(int, int, int)':
routers.cpp:31:5: error: 'memset' was not declared in this scope
   31 |     memset(dp,-1,sizeof(dp));
      |     ^~~~~~
routers.cpp:6:1: note: 'memset' is defined in header '<cstring>'; did you forget to '#include <cstring>'?
    5 | #include "routers.h"
  +++ |+#include <cstring>
    6 | // #include <bits/stdc++.h>