이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
//#include "prison.h"
#pragma GCC optimize ("O3")
using namespace std;
#define el "\n"
#define se " "
#define ll long long
#define ld long double
#define ff first
#define ss second
#define pb push_back
const ll INF=1e18,ch=1e18;
ll a,b,c,d,n,COST,t,last,ab,ba,n1,n2,fl1,fl2,o1,o2,flag,flag1,flag2,g,m,m1,m2,i,j,lr,f,k,l,r,y,o,p,mx=-ch,mx1=-ch,mx2=-ch,q,q1,q2,q3,q4,mn=ch,mn1=ch,mn2=ch,f1,f2,f3,pos,ans,sum,sz=1,MOD=1e9+7,zero=0,a1,b1,c1,val,sum1,cur,res,ans1,res1,kk,kkk,cnt,cnt1,fl;
pair < ll , pair < ll , ll > > A[300005];
pair < ll, ll > B[300005];
ll max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W)
{
n=N;m=M;k=X.size();
for(i=1;i<=k;i++)
{
A[i].ff=X[i-1]+1;
A[i].ss.ff=Y[i-1]+1;
A[i].ss.ss=W[i-1];
if (A[i].ff%2!=0) q1++;
if (A[i].ff<=2) q2++;
}
if (q1==k)
{
for(i=1;i<=k;i++)
{
f+=A[i].ss.ss;
}
return f;
}
else if (q2==k)
{
for(i=1;i<=k;i++)
{
if (B[A[i].ss.ff].ff==0)
{
B[A[i].ss.ff].ff=A[i].ss.ss;
f+=A[i].ss.ss;
}
else
{
B[A[i].ss.ff].ss=A[i].ss.ss;
f-=B[A[i].ss.ff].ff;
f+=max(B[A[i].ss.ff].ff,B[A[i].ss.ff].ss);
}
}
return f;
}
else
{
return f;
}
}
//int main()
//{
// ios_base::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// cin>>n>>a>>b;
// vector < vector < int > > v=devise_strategy(a,b);
//}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |