Submission #58468269


Source Code Expand

#include <bits/stdc++.h>

#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>

using namespace std;
#define int long long
#define sz(s) (int)s.size()
#define sqrt sqrtl
using namespace __gnu_pbds;
typedef long long ll;
const int N = 2e5 + 10 ;
#define pb   push_back
#define all(x) x.begin(),x.end()
#define ln '\n'
#define endl '\n'
#define sz(v) (long long)v.size()
const int mod =  1000000007 ;
template<class T> using ordered_set =tree<T, null_type, less<T>, rb_tree_tag,tree_order_statistics_node_update> ;

//A.order_of_key(X)--> Finding No. of elements smaller than X
//A.find_by_order(X)--> iterator of element present at the Xth index
#define vll vector<ll>
#define fl(i,n) for(int i=0;i<n;i++)
#define double long double
double euclideanDistance(int x1, int y1, int x2, int y2) {
    return sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
}

void solve() {
    int n, s, t;
    cin >> n >> s >> t;

    vector<array<int, 4>> segments(n);
    for (int i = 0; i < n; i++) {
        cin >> segments[i][0] >> segments[i][1] >> segments[i][2] >> segments[i][3]; 
    }

    vector<int> perm(n);
    iota(perm.begin(), perm.end(), 0); 

    double min_time = 1e18;  
    do {
        double current_time = 0;
        int laser_x = 0, laser_y = 0; 

        for (int i = 0; i < n; i++) {
            int idx = perm[i];
            double move_time1 = euclideanDistance(laser_x, laser_y, segments[idx][0], segments[idx][1]) / s;
            double move_time2 = euclideanDistance(laser_x, laser_y, segments[idx][2], segments[idx][3]) / s;
            double print_time1 = euclideanDistance(segments[idx][0], segments[idx][1], segments[idx][2], segments[idx][3]) / t;
            double print_time2 = euclideanDistance(segments[idx][2], segments[idx][3], segments[idx][0], segments[idx][1]) / t;
            if (move_time1 + print_time1 < move_time2 + print_time2) {
                current_time += move_time1 + print_time1;
                laser_x = segments[idx][2];
                laser_y = segments[idx][3];
            } else {
                current_time += move_time2 + print_time2;
                laser_x = segments[idx][0];
                laser_y = segments[idx][1];
            }
        }
        min_time = min(min_time, current_time);

    } while (next_permutation(perm.begin(), perm.end()));

    cout << fixed << setprecision(30) << min_time << endl;
}
int32_t main(){
ios_base::sync_with_stdio(0),cin.tie(NULL),cout.tie(NULL);
  int t=1; 

       while(t--)
       {
          solve();
       }

    return 0;
}

Submission Info

Submission Time
Task D - Laser Marking
User khushalmidha
Language C++ 20 (gcc 12.2)
Score 0
Code Size 2639 Byte
Status WA
Exec Time 1 ms
Memory 3820 KiB

Compile Error

Main.cpp:17: warning: "sz" redefined
   17 | #define sz(v) (long long)v.size()
      | 
Main.cpp:8: note: this is the location of the previous definition
    8 | #define sz(s) (int)s.size()
      | 

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 350
Status
AC × 4
AC × 61
WA × 13
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt, test_66.txt, test_67.txt, test_68.txt, test_69.txt, test_70.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 3808 KiB
sample_02.txt AC 1 ms 3796 KiB
sample_03.txt AC 1 ms 3692 KiB
sample_04.txt AC 1 ms 3696 KiB
test_01.txt WA 1 ms 3620 KiB
test_02.txt AC 1 ms 3692 KiB
test_03.txt AC 1 ms 3652 KiB
test_04.txt AC 1 ms 3712 KiB
test_05.txt AC 1 ms 3620 KiB
test_06.txt AC 1 ms 3652 KiB
test_07.txt WA 1 ms 3708 KiB
test_08.txt AC 1 ms 3716 KiB
test_09.txt AC 1 ms 3692 KiB
test_10.txt AC 1 ms 3744 KiB
test_11.txt AC 1 ms 3752 KiB
test_12.txt AC 1 ms 3780 KiB
test_13.txt AC 1 ms 3796 KiB
test_14.txt AC 1 ms 3692 KiB
test_15.txt WA 1 ms 3732 KiB
test_16.txt WA 1 ms 3728 KiB
test_17.txt WA 1 ms 3704 KiB
test_18.txt AC 1 ms 3676 KiB
test_19.txt AC 1 ms 3692 KiB
test_20.txt AC 1 ms 3792 KiB
test_21.txt AC 1 ms 3808 KiB
test_22.txt AC 1 ms 3724 KiB
test_23.txt AC 1 ms 3820 KiB
test_24.txt AC 1 ms 3692 KiB
test_25.txt AC 1 ms 3744 KiB
test_26.txt WA 1 ms 3816 KiB
test_27.txt AC 1 ms 3812 KiB
test_28.txt AC 1 ms 3808 KiB
test_29.txt AC 1 ms 3704 KiB
test_30.txt AC 1 ms 3728 KiB
test_31.txt AC 1 ms 3712 KiB
test_32.txt AC 1 ms 3652 KiB
test_33.txt WA 1 ms 3776 KiB
test_34.txt AC 1 ms 3696 KiB
test_35.txt AC 1 ms 3800 KiB
test_36.txt AC 1 ms 3800 KiB
test_37.txt AC 1 ms 3648 KiB
test_38.txt WA 1 ms 3812 KiB
test_39.txt AC 1 ms 3692 KiB
test_40.txt WA 1 ms 3812 KiB
test_41.txt AC 1 ms 3784 KiB
test_42.txt AC 1 ms 3732 KiB
test_43.txt AC 1 ms 3692 KiB
test_44.txt AC 1 ms 3804 KiB
test_45.txt AC 1 ms 3700 KiB
test_46.txt AC 1 ms 3740 KiB
test_47.txt AC 1 ms 3628 KiB
test_48.txt AC 1 ms 3804 KiB
test_49.txt AC 1 ms 3748 KiB
test_50.txt AC 1 ms 3812 KiB
test_51.txt AC 1 ms 3800 KiB
test_52.txt AC 1 ms 3668 KiB
test_53.txt AC 1 ms 3748 KiB
test_54.txt AC 1 ms 3812 KiB
test_55.txt AC 1 ms 3712 KiB
test_56.txt WA 1 ms 3748 KiB
test_57.txt AC 1 ms 3708 KiB
test_58.txt WA 1 ms 3740 KiB
test_59.txt WA 1 ms 3732 KiB
test_60.txt AC 1 ms 3688 KiB
test_61.txt AC 1 ms 3716 KiB
test_62.txt AC 1 ms 3732 KiB
test_63.txt AC 1 ms 3736 KiB
test_64.txt AC 1 ms 3652 KiB
test_65.txt WA 1 ms 3712 KiB
test_66.txt AC 1 ms 3752 KiB
test_67.txt AC 1 ms 3700 KiB
test_68.txt AC 1 ms 3732 KiB
test_69.txt AC 1 ms 3716 KiB
test_70.txt AC 1 ms 3816 KiB