Connection Status:
Competition Arena > AccessLevel
SRM 218 · 2004-11-04 · by erinn · Simple Search, Iteration, String Manipulation
Class Name: AccessLevel
Return Type: String
Method Name: canAccess
Arg Types: (vector<int>, int)
Problem Statement

Problem Statement

In many computer systems and networks, different users are granted different levels of access to different resources. In this case, you are given a int[] rights, indicating the privilege level of each user to use some system resource. You are also given a int minPermission, which is the minimum permission a user must have to use this resource.

You are to return a String indicating which users can and cannot access this resource. Each character in the return value corresponds to the element of users with the same index. 'A' indicates the user is allowed access, while 'D' indicates the user is denied access.

Notes

  • If users is empty, then a zero-length String ("") should be returned.

Constraints

  • users will contain between 0 and 50 elements, inclusive.
  • Each element of users will be between 0 and 100, inclusive.
  • minPermission will be between 0 and 100, inclusive.
Examples
0)
{0,1,2,3,4,5}
2
Returns: "DDAAAA"

Here, the first two users don't have sufficient privileges, but the remainder do.

1)
{5,3,2,10,0}
20
Returns: "DDDDD"

Unfortunately, nobody has sufficient access.

2)
{}
20
Returns: ""

It makes no difference what permission is required, since there are no users to check.

3)
{34,78,9,52,11,1}
49
Returns: "DADADD"
4)
{1,1,1,1,1,1,1,1,1,1,1,1,1}
1
Returns: "AAAAAAAAAAAAA"

Submissions are judged against all 12 archived test cases, of which 5 are shown here. Case numbers match the judge’s.

Coding Area

Language: C++17 · define a public class AccessLevel with a public method string canAccess(vector<int> rights, int minPermission) · 12 test cases · 2 s / 256 MB per case

Submitting as anonymous