답안 #1041543

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1041543 2024-08-02T05:27:20 Z vjudge1 Segway (COI19_segway) C++17
0 / 100
2 ms 348 KB
#include<bits/stdc++.h>

using namespace std;

const int N = 20'000 + 10;
long long n, sp[N][3], t[N], boost[N];
bool a[300];

int main()
{
  cin >> n;
  for(int i = 1; i <= n; i ++)
    for(int j = 0; j < 3; j++)
      cin >> sp[i][j];

  int m;
  cin >> m;
  for(int i = 0; i < m; i ++)
    {
      int x;
      cin >> x;
      a[x] = true;
    }

  
  for(int d = 0; d < 300; d ++)
    {
      vector<pair<int,int> > st;
      for(int i = 1; i <= n; i++)
	st.push_back({t[i], i});

      sort(st.begin(), st.end());
      vector<int> ahead(n);
      ahead[0] = 0;
      for(int i = 1; i < n; i ++)
	ahead[i] = (ahead[i - 1] + (st[i].first != st[i - 1].first)) % 20;
      
      for(int i = 0; i < n; i ++)
	{

	  int cur = st[i].second;
	 
	  if(a[d] && !boost[cur])
	    boost[cur] = ahead[i];
	  
	  if(boost[cur] > 0)
	    t[cur]++, boost[cur]--;
	  else
	    t[cur] += sp[cur][d / 100];
	}
      
    }

  for(int i = 1; i <= n; i ++)
    cout << t[i] << "\n";
 
  return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 2 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 2 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -