답안 #997869

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
997869 2024-06-13T04:01:56 Z modwwe 치료 계획 (JOI20_treatment) C++17
0 / 100
3000 ms 8144 KB
#include<bits/stdc++.h>
#define int long long
//#define ll long long
#define down cout<<'\n';
#define NHP     ios_base::sync_with_stdio(0);cout.tie(0);cin.tie(0);
#define modwwe  int t;cin>>t; while(t--)
#define bit(i,j) (i>>j&1)
#define sobit(a) __builtin_popcountll(a)
#define task "test"
#define fin(x) freopen(x".inp","r",stdin)
#define fou(x) freopen(x".out","w",stdout)
#define pb push_back
#define checktime   cerr << (double)clock() / CLOCKS_PER_SEC * 1000  << " ms";
using namespace std;
const int inf=1e9;
void phongbeo();
const int mod2=1e9+7;
const int  mod1=998244353;
struct icd
{
    int a,b;
};
struct ib
{
    int a;
    int b;
};
struct ic
{
    int a,b,c;
};
struct id
{
    int a,b,c,d;
};
struct ie
{
    int a,b,c, d,e,f;

};
int n,m,s1,s2,s4,s3,sf,k,r,mid,s5,s6,mx,s7,s8,s9,mx2,res,dem2=0,dem=0,l;
int  i,s10,s12;
int el=29;
main()
{
#ifndef ONLINE_JUDGE
    //fin(task),fou(task);
#endif
    NHP
    /// cin>>s1;
    // modwwe
    phongbeo(),down
    checktime
}
ie a[100001];
vector<int> v[100001];
bool cmp(ie a,ie b)
{
    return a.b<b.b;
}
struct cmp2
 {
      bool operator()(ib a,ib b)
      {
          return a.a>b.a;
      }
 };
 bool color[100001];
void phongbeo()
{
  cin>>n>>m;
   for(int i=1;i<=m;i++)
         cin>>a[i].a>>a[i].b>>a[i].c>>a[i].d,a[i].e=i,a[i].b--;
sort(a+1,a+1+m,cmp);
for(int i=1;i<m;i++)
    for(int j=i+1;j<=m;j++)
{
    if(a[i].a<a[j].a)
    {
        if(a[i].c+a[i].a>=a[j].b+a[j].a) v[i].pb(j),v[j].pb(i);//,cout<<a[i].e<<" "<<a[j].e,down
    }
    else
    {
        if(a[i].c-a[i].a>=a[j].b-a[j].a) v[i].pb(j),v[j].pb(i);//,cout<<a[i].e<<" "<<a[j].e<<" "<<i,down
    }
}
 priority_queue<ib,vector<ib>,cmp2>p;
for(int i=1;i<=m    ;i++)
    if(a[i].b==0)
p.push({a[i].d,i});
while(!p.empty())
{
     ib x=p.top();
    p.pop();
     if(a[x.b].c==n){cout<<x.a; exit(0);}
    if(color[x.b]) continue;
     color[x.b]=1;
      for(auto f:v[x.b])
        if(!color[f]) {p.push({x.a+a[f].d,f});/// cout<<a[f].d<<" "<<f,down

        }
}
cout<<-1;
}

Compilation message

treatment.cpp:44:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   44 | main()
      | ^~~~
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3058 ms 8144 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Incorrect 1 ms 4444 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Incorrect 1 ms 4444 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3058 ms 8144 KB Time limit exceeded
2 Halted 0 ms 0 KB -