제출 #1277012

#제출 시각아이디문제언어결과실행 시간메모리
1277012trandangquangCoin Collecting (JOI19_ho_t4)C++20
37 / 100
13 ms4272 KiB
#include<bits/stdc++.h> using namespace std; #define foru(i,a,b) for(int i=(a); i<=(b); ++i) #define ford(i,a,b) for(int i=(a); i>=(b); --i) #define rep(i,a) for(int i=0; i<(a); ++i) #define sz(a) (int)(a).size() #define all(a) (a).begin(),(a).end() #define bit(s,i) (((s)>>(i))&1) #define ii pair<int,int> #define fi first #define se second #define int long long #define pb push_back #define eb emplace_back #define ll long long #define _ << " " << template <class X, class Y> bool maxi(X &x, Y y){return x<y?x=y,true:false;} template <class X, class Y> bool mini(X &x, Y y){return x>y?x=y,true:false;} const int N=1e5+5; int n,x[N],y[N],cnt[N][3]; ll res; void solve(){ cin>>n; foru(i,1,n<<1){ cin>>x[i]>>y[i]; int nx,ny; if(x[i]<1) nx=1; else if(x[i]>n) nx=n; else nx=x[i]; if(y[i]<1) ny=1; else if(y[i]>2) ny=2; else ny=y[i]; cnt[nx][ny]++; res=res+abs(nx-x[i])+abs(ny-y[i]); } foru(i,1,n)foru(j,1,2){ cnt[i][j]--; } // foru(i,1,2){ // foru(j,1,n){ // cout<<cnt[j][i]<<" "; // } // cout<<'\n'; // } foru(i,1,n){ cnt[i][1]+=cnt[i-1][1]; cnt[i][2]+=cnt[i-1][2]; if(cnt[i][1]>0 && cnt[i][2]<0){ int t=min(cnt[i][1],-cnt[i][2]); cnt[i][1]-=t; cnt[i][2]+=t; res+=t; } else if(cnt[i][1]<0 && cnt[i][2]>0){ int t=min(-cnt[i][1],cnt[i][2]); cnt[i][1]+=t; cnt[i][2]-=t; res+=t; } res+=abs(cnt[i][1])+abs(cnt[i][2]); } cout<<res<<'\n'; } int32_t main(){ #define task "test" if(fopen(task".inp","r")){ freopen(task".inp","r",stdin); freopen(task".out","w",stdout); } cin.tie(0)->sync_with_stdio(0); int tc=1; //cin>>tc; rep(i,tc){ solve(); } }

컴파일 시 표준 에러 (stderr) 메시지

joi2019_ho_t4.cpp: In function 'int32_t main()':
joi2019_ho_t4.cpp:74:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   74 |         freopen(task".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
joi2019_ho_t4.cpp:75:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   75 |         freopen(task".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...